![]() devices and methods for building polar code
专利摘要:
The present invention relates to input bits that are encoded in codewords that include encoded bits. coding involves applying a first set of prime size y g polar polar coding arrays to produce output bits, and applying a second set of prime number z dimension polar coding arrays to the output bits to produce the codeword. one or both of gx and gy may be non-2-by-2. Such kernel design and other aspects of code building, including reliability and subchannel selection for code building, non-crc-assisted error correction, and code shortening and drilling, are discussed in more detail here. 公开号:BR112019012985A2 申请号:R112019012985 申请日:2017-12-20 公开日:2019-12-03 发明作者:Ge Yiqun 申请人:Huawei Tech Co Ltd; IPC主号:
专利说明:
Descriptive Report of the Invention Patent for DEVICE AND METHODS FOR CONSTRUCTION OF POLAR CODE. Field [001] This description relates in general to communications and, in particular, to the construction of polar codes. Background [002] Polar codes are proposed as channel codes for use in future wireless communications, and have been selected for enhanced Mobile Broadband (eMBB) control channel encoding for reverse link and direct link for new air interface õ ^ -generation (5G), also known as Nova Rádio (NR). These codes are competitive with state of the art error correction codes and have low coding complexity. See E. Arikan, Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels, IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051-3073, 2009. Consecutive Cancellation List (SCL) decoding and its extensions (for example, SC List decoding) are effective and efficient options for decoding polar coded information. [003] Based on channel bias, Arikan designed a channel code that has been proven to achieve channel capability. Polarization refers to a coding property that, as the code length increases to infinity, bit channels, also referred to as subchannels, polarize and their capacities approach zero (completely noisy channel) or one (completely noisy channel) Perfect). In other words, bits encoded in high capacity subchannels will experience a channel with a high Signal to Noise Ratio (SNR), and will have a reliability Petition 870190068949, of 7/22/2019, p. 5/86 2Π5 relatively high or a high probability of being correctly decoded, and bits encoded in low capacity subchannels will experience a channel with low SNR, and will have low reliability or a low chance of being correctly decoded. The fraction of perfect bit channels is equal to the capacity of this channel. Summary [004] Illustrative modalities are disclosed by way of example in the description and in the claims. [005] In accordance with an aspect of the present description, a device includes an encoder for producing a codeword with encoded bits, and a transmitter, coupled with the encoder, for transmitting the codeword. The encoder is configured to apply several first polar encoding arrays Gy with prime number dimension Y to input bits to produce output bits, and to apply multiple second polar encoding arrays Gz with prime number dimension Z to output bits to produce the code word. [006] A method according to another aspect involves encoding input bits into a code word that includes encoded bits, and transmitting the code word. Coding involves applying a first set of polar encoding matrices Gy with a prime number dimension Y to the input bits to produce output bits, and applying a second set of polar encoding matrices Gz with a prime number dimension Z to the bits output to produce the code word. [007] Another aspect provides a non-temporary, processor-readable medium by storing instructions that, when executed by one or more processors, cause the one or more processors to execute a method. The method, as described in this document, Petition 870190068949, of 7/22/2019, p. 6/86 3/75 involves encoding input bits into a codeword that includes encoded bits, and transmitting the codeword, and encoding involves applying a first set of polar encoding matrices Gy with prime number dimension Y to the input bits to produce output bits, and apply a second set of polar coding matrices Gz with prime number dimension Z to the output bits to produce the codeword. [008] Other aspects and features of modalities of the present description will become apparent to those skilled in the art upon inspection of the following description. Brief Description of the Drawings [009] Examples of embodiments of the invention will now be described in greater detail with reference to the accompanying drawings. [0010] Figure 1 is a diagram showing an example of how a polar coding generating matrix can be produced from a kernel. [0011] Figure 2 is a diagram showing an illustrative use of a polar coding generating matrix to produce codewords and a schematic illustration of an illustrative polar encoder. [0012] Figure 3 illustrates an example of a SC decoding algorithm (Successive Cancellation). [0013] Figure 4 is a diagram showing a part of an illustrative decision list tree whose width is limited by a given maximum list size and used in a polar SCL (Successive Cancellation List) decoder. [0014] Figure 5 is a block diagram illustrating an example of a polar encoder based on a 2 by 2 kernel. [0015] Figure 6 is a block diagram illustrating an example Petition 870190068949, of 7/22/2019, p. 7/86 4/75 of a 2-by-2 kernel rate-matched polar encoder, which includes a subchannel selector, a polar encoder (Figure 5) and an encoded bit processor. [0016] Figure 7 is a block diagram illustrating an example of a nested polar encoder based on a 2 by 2 kernel. [0017] Figure 8 is a diagram showing how arrays of the polar coding generator can be produced from 3 by 3 kernels. [0018] Figure 9 includes block diagrams illustrating two illustrative larger encoders based on different types of smaller kernel encoders. [0019] Figure 10 is a block diagram illustrating an example of assistant bit generation and assistant subchannel allocation. [0020] Figure 11 is a block diagram illustrating an example of information assistant, and coding of frozen subchannel. [0021] Figure 11A is a block diagram illustrating checksum subchannels as an example of assistant channels, carrying checksums generated by different checksum functions. [0022] Figure 11B is a block diagram illustrating non-consecutive and consecutive checksum subchannels. [0023] Figure 12 is a block diagram illustrating Hamming weights and row weights for subchannels of a 4 by 4 polar code generator matrix. [0024] Figure 13 is a block diagram of an illustrative sub-channel selector. [0025] Figure 14 is a flow chart illustrating a subchannel selection method. Petition 870190068949, of 7/22/2019, p. 8/86 5 / Ί5 [0026] Figure 15 is a block diagram illustrating an example of coding that takes drilling into account when selecting subchannels. [0027] Figure 16 is a block diagram of an illustrative device for encoding and transmitting code words. [0028] Figure 17 is a block diagram of an illustrative device for receiving and decoding code words. [0029] Figure 18 is a block diagram of another illustrative device for encoding and transmitting code words. [0030] Figure 19 is a block diagram of another illustrative device for receiving and decoding code words. [0031] Figure 20 is a block diagram of an illustrative simplified processing system that can be used to implement modalities disclosed in this document. [0032] Figure 21 illustrates an illustrative communication system in which modalities of the present description could be implemented. [0033] Figures 22A and 22B illustrate illustrative devices that can implement the methods and instructions according to this description. [0034] Figure 23 is a flow chart of an illustrative coding method for another modality. Detailed Description [0035] Figure 1 is a diagram showing, by way of illustration, how a polar code generating matrix can be produced from a G2 100 kernel. Note that Figure 1 is an example. In the present description, other forms of kernel are also considered. The polarization derives from the nested mode in which a generator matrix is created from a kernel (or combination of kernels), in accordance with an aspect of the present description. Petition 870190068949, of 7/22/2019, p. 9/86 6 / Ί5 [0036] A polar code can be formed from a Kronecker product matrix based on an origin matrix F = G2 100. For a polar code having code words of length N = 2 m , the generating matrix is ¢ 2 The 2-part Kronecker product matrix 102 and the G ® 3 104-part Kronecker product matrix in Figure 1 are examples of generated polar coding matrices. The generator matrix approach illustrated in Figure 1 can be expanded to produce a one-part Kronecker product matrix [0037] Figure 2 is a diagram showing an illustrative use of a polar coding generator matrix to produce code words and a schematic illustration of an illustrative polar encoder. In Figure 2, the generating matrix 104 is used to produce code words of length 2 3 = 8. A code word x is formed by the product of an input vector u = [0 θ 0 0 u 5 ti 7 ] by the matrix generator G 2 ^ 104 as indicated in 200. The input vector u is composed of information and fixed bits or frozen bits. In the specific example shown in Figure 2, N = 8, so that the input vector u is an 8-bit vector, and the code word x is an 8-bit vector. The input vector has bits frozen in positions 0, 1, 2 and 4, and has information bits in positions 3, 5, 6 and 7. An illustrative implementation of an encoder that generates code words is indicated in 212, where the frozen bits are all set to 0, and the + symbols in circles represent addition of module 2. For the example in Figure 2, an input vector with N = 8 bits is formed from K = 4 bits of information and N - K = 4 frozen bits. Codes in this way are referred to as polar codes and the encoder is referred to as a polar encoder. Decoders for decoding polar codes are referred to as polar decoders. Frozen bits are set to zero Petition 870190068949, of 7/22/2019, p. 10/86 7/75 in the example shown in Figure 2. However, frozen bits could be set to other bit values that are known to both an encoder and a decoder. For ease of description, frozen bits all zero are considered in this document, and can generally be preferred. [0038] As is known, polar coding can be performed with or without bit inversion. The illustrative polar encoder in Figure 2 is without bit inversion. [0039] Generally, the output of a polar encoder can be expressed as where, be bit inversion, = a generator matrix N by N, N = 2 n , n> 1 (for example, for n = 1, = f ( indicated as 100 in Figure 1)). For bit inversion, g 3 = f, where an inversion matrix of inversion of bit N by N. [0040] Modalities revealed in this document could be implemented with or without bit inversion. [0041] In the construction of polar code, ideally, the most reliable positions of an input vector are used to transport the bits of information, and the most unreliable positions of an input vector are used to transport the frozen bits ( that is, bits already known to both the encoder and the decoder). However, when information is transmitted through a physical channel, the reliability of a given bit position is also a function of the characteristics of the physical channel, such as an erasure rate or the Signal to Noise Ratio (SNR) of the physical channel. A reliability sequence (reliable and unreliable positions) could be calculated based on the assumed characteristics or measurements of the physical channel before the information is transmitted through the channel, for example. In theory, frozen bits can be set to any value as long as the location of each Petition 870190068949, of 7/22/2019, p. 11/86 8/75 frozen bit is known by both the encoder and the decoder. In conventional applications the frozen bits are also all set to zero. [0042] With a sufficiently long code length, a code designed according to the polarization theory can achieve channel capacity on a channel without binary symmetric memory if a Successive Cancellation (SC) decoding algorithm is used. A very simple SC decoding algorithm was analyzed and simulated by Arikan. [0043] In practice, a code length cannot be infinite and a channel cannot be a channel without binary memory, and therefore the channel capacity cannot be achieved by such a simple SC decoder. According to Arikan, channel capacity can be approximated when using SC decoding if a code length is above 2 20 bits in an AWGN channel. Such a long code length is impractical in wireless communications, for example. [0044] The assistant or error detection (EDC) code can be included in the input vector to aid in decoding. A cyclic redundancy check code (CRC) could be used as an EDC. More than one EDC could be used within a code word. However, it should be understood that other EDCs, such as a checksum code or a Fletcher Code, can be used. Some EDCs are also error correction codes (ECCs). [0045] The CRC bits, for example, are generated based on the bits of information being transmitted. The CRC bits are generally placed in more reliable positions in the input vector, although the CRC bits can also or instead be placed in other positions in the input vector. CRC bits can be used Petition 870190068949, of 7/22/2019, p. 12/86 9/75 in the path selection for List decoding, for example, to improve the performance of the polar code. During encoding, an input vector with N bits could be formed from the K information bits, including one or more CRC bits, and frozen (N - K) bits. In this example, starting with a number of input bits, a CRC is calculated and appended to the input bits to produce a set of K information bits including the input bits and the CRC bits. The remaining (N - K) frozen bits are inserted to produce an input vector with N bits, where N is a power of 2 in an Arikan polar code. The input vector is then multiplied by a generator matrix for a polar code to produce a code word with N bits. [0046] The code word is transmitted through a channel, and a receiver, in turn, receives a word. Due to channel effects such as noise, the received word may not be identical to the transmitted code word. A decoder attempts to decode the received word to determine bits of information in the original input vector. [0047] During the decoding of a codeword encoded from an input vector, the locations and values of bits frozen in the input vector are treated as known. For simplicity of description, bits of the input vector that are not known by the decoder in advance will be referred to as unknown bits. For example, information bits including any CRC bits are unknown bits. Some polar decoders use SC decoding as mentioned above, in which the unknown bits are decoded sequentially and successive cancellation is applied. Once a particular decision has been made regarding how an unknown bit is to be decoded, SC polar decoders do not allow the bit to be Petition 870190068949, of 7/22/2019, p. 13/86 10/75 modified or corrected, and the decoder proceeds to decode the next unknown bit. Figure 3 illustrates an example of an SC decoding algorithm. [0048] Another type of polar decoding algorithm, which is an extension of polar SC decoding, but with better error correction performance and greater space efficiency, referred to as a List decoder, is described in List Decoding of Polar Codes by Tai and Vardy, Proceedings of the 2011 IEEE International Symposium on Information Theory, pp. 1-5 (July 2011). In a List decoder, successive levels and a binary decision tree are generated, each level corresponding to a decision in relation to a respective unknown bit. Each path in the decision tree from the root node to the leaf nodes represents a possible partial decoded sequence of unknown bits and has a corresponding probability. Typically, during the generation of the decision tree at each level of the decision tree where the number of paths grow beyond a limit set L, the L paths having the highest probabilities are identified, and the remaining paths are discarded. Some List decoders may also make use of CRC bits included in the codeword to aid decoding. For example, if the code word includes CRC bits encoded for the previous information bits, then, once the decision tree is generated, each of the remaining paths that corresponds to the decoded information bits is checked against the CRC bits represented in each of the remaining paths. The decoder then emits the information bits in the remaining path through the CRC check as a decoded vector. If more than one path passes the CRC check, then the decoder selects the path that passes the CRC check and has the highest Petition 870190068949, of 7/22/2019, p. 14/86 11/75 probability, which can be determined according to a metric. If no path passes the CRC check, or if the code word does not include encoded CRC bits, then the decoder selects the path with the highest probability, which, as mentioned above, can be determined according to a metric. . [0049] Thus, there are two types of decoding based on successive cancellation, including SC decoding and List decoding, which are also referred to as SCL decoding. For each decoded bit, a decoding path generates 2 leaf branches (bit = 0 | 1) for the next decoding bit. An SC decoder tracks only one decode path. After the value of a decoded bit is estimated, the other possible value is ignored. Decoding continues with the next bit, assuming that each previous bit has been correctly estimated when updating partial sum results. [0050] Although tracking multiple decoding paths as in SCL decoding may offer better decoding performance than single path tracking as in SC decoders, the multipath encoder size and complexity increase with the length of the codeword and with the list size L. For example, for a code word length N = 8 with a 2 by 2 kernel, there are 2 8 = 256 possibilities for estimated values. Other kernel sizes have different number of possibilities, such as 3 8 for N = 8 and a 3 by 3 kernel. As the length of the codeword increases, the number of possibilities grows exponentially, and the tracking of all decoding paths for all combinations becomes impractical. For tracking multiple decoding paths according to an L-size list, Petition 870190068949, of 7/22/2019, p. 15/86 12/75 SCL decoders can still offer better decoding performance than SC decoders, with reasonable size and complexity. An SCL decoder monitors the best L decoding paths and estimates information bit values for the L decoding paths by combining Log Probability Ratio (LLR) values with previously calculated partial sum values. [0051] Each decoding path from the root (decoded bit n 2 0) of a decoding tree is associated with a Path Metric (PM). A decoding path appends each newly decoded bit to the previous estimated values. After the LLR calculations for each decoded bit, path metrics are continuously updated using LLR values as Next: • if the LLR value> = 0The PM [0, i + 1] = PM [i]The PM [1, i + 1] = PM [i] + | LLR |• if the LLR value <0The PM [0, i + 1] = PM [i] + | LLR |The PM [1, i + 1] = PM [i]. [0052] The The best decoding paths have the minors PM values. If an LLR is less than 0, then the bit decoded is most likely a 1, so the next PM for the estimated value 1 (PM [1, i + 1]) remains the same as the current path metric, and the absolute LLR value is added to the PM for the estimated value 0 (PM [0, i + 1]), actually penalizing the least likely path with the absolute LLR value. If the LLR value is close to 0, then the decision for the value of 0 x is not reliable and the PM penalty for the penalized path is small. [0053] For each bit decoded in a tree of Petition 870190068949, of 7/22/2019, p. 16/86 13/75 decoding, each decoding path produces 2 new decoding paths, for a 2 by 2 kernel in the example shown. Each leaf decoding path inherits the LLR, the partial sum, and the PM values from its parent. After the number of decoding paths reaches L, an SCL decoder selects, based on the 2L PMS for the 2L candidate decoding path, the L paths with the smallest PMS, and discards the other L decoding paths. The selected L paths classified using the PMS. For example, the path classification could designate path identifiers (IDs) or indexes for the selected paths, with the path having the best PM being assigned a path ID ID 2 1, for a path with the worst PM being assigned the path ID n 2 L, and for other paths being assigned truck IDs n 2 2 to 2 (L-1) according to their PMS. New decoding path IDs could be assigned after each classification step, as estimated by each keyword bit. [0054] Figure 4 is a diagram showing a part of an illustrative decision list tree used in a polar SCL decoder, the width of which is limited by a given maximum list size L. In Figure 4, the list size L is 4. Five levels 402, 404, 406, 408, 410 of the decision tree are illustrated. Although five levels are illustrated, it should be understood that a decision tree to decode K bits of information (including CRC bits) would have K + 1 levels. At each level after root level 402, each of the remaining 4 decoding paths is extended by one bit. Leaf nodes or children of root node 420 represent possible choices for a first bit, and subsequent leaf nodes represent possible choices for subsequent bits. The decoding path from root node 420 to leaf node 430a, for example, represents a Petition 870190068949, of 7/22/2019, p. 17/86 14/75 estimated keyword bit sequence 0.1,0, 0. At level 408, the number of possible paths is greater than L, so that L paths having the highest probability (for example, best PMS ) are identified, and the remaining paths are discarded. The decoding paths that remain after the path classification at level 406 are shown in bold in Figure 4. Similarly, at level 410, the number of possible paths is again greater than L, so that L paths having the most high probability (for example, better PMS) are identified, and the remaining paths are discarded again. In the example shown, the paths ending at leaf nodes 430a, 430b, 430c and 430d represent the most probable nodes. The paths ending at leaf nodes 440a, 440b, 440c, 440d are the least likely paths that are discarded. [0055] SCL decoding can be further divided into pure list decoding in which remaining paths with the highest probability are selected and SCC-assisted decoding by CRC (CA-SCL) where CRV bits are used for path selection. SC decoding is a special case of pure list decoding, with list size L = 1. A CRC can provide better error correction performance in the selection of the final path, but is optional in SCL decoding. Other decoding assist operations, such as Parity Check (PC) based on parity or PC bits that are included in an input vector, could be used instead or in conjunction with the CRC bits in the final path selection during decoding or in final path selection. [0056] SCL decoding widely improves the performance of a polar code for a limited code size. Meantime,, Petition 870190068949, of 7/22/2019, p. 18/86 15/75 compared to similar code length and Low Density Parity Check (LDPC) code rates and Turbo codes, SCL decoding may have a worse Block Error Rate (BLER) than well-designed LDPC and Turbo codes. CA-SCL decoding can improve the performance of a polar code with a limited code length. For example, a CA-SCL decoder with a list size of L = 32 could provide much better performance than LDPC and Turbo codes with similar computational complexity. [0057] In a White Additive Gaussian Noise (AWGN) channel, a polar code in practice divides a channel into N subchannels, where N is referred to as a mother code length and is always a power of 2 and an Arikan polar code, which is based on a polar kernel which is a 2x2 matrix. A key to building code for a polar code is to determine which bit channels, also referred to in this document as subchannels, are selected or allocated for bits of information and which subchannels are allocated for frozen bits. In some embodiments, one or more subchannels are allocated to frozen bits. In some embodiments, one or more subchannels are also allocated for parity / PC, CRC, and / or other types of bits that are used to assist in decoding. In terms of polarization theorizing, subchannels that are allocated to frozen bits are called frozen subchannels, subchannels that are allocated to information bits are called information subchannels, and additional assistant subchannels can be allocated to assistant bits that are used for help with decoding. In some modalities, assistant bits are considered to be a form of information bits, for which more reliable subchannels are selected or allocated. [0058] Polar encoders based on Kronecker products from Petition 870190068949, of 7/22/2019, p. 19/86 16/75 an Arikan 2 by 2 G2 kernel are described above. Figure 5 is a block diagram illustrating an example of a polar 500 encoder based on a 2 by 2 kernel. Subchannels and encoded bits are labeled in Figure 5. As discussed in further detail in this document, a channel is divided into N subchannels by a polar code. An information block and frozen bits are allocated in N subchannels, and the resulting N-size vector is multiplied by a Kronecker N by N matrix by the polar encoder 500 to generate a codeword that includes N encoded bits. An information block includes at least bits of information and could also include bits such as CRC bits or PC bits. A subchannel selector (not shown) could be coupled with 0 polar encoder 500 to select subchannels for information bits and any assistant bits, with any remaining subchannels being frozen subchannels. [0059] For polar encoders that are based on a 2 by 2 kernel and a Kronecker N by N matrix, N must be a power of 2. This not only limits the performance limit, but also the granularity (code length and code rate) of a polar code. In fact, in order to have an arbitrary code rate or length for Arikan-based polar codes, some encoded bits are drilled. BLER performance and coding stability could be reduced as a result. [0060] Other forms of polarization kernels could produce polarization between code subchannels. Examples of such different forms of kernel and their use are revealed in this document. [0061] As a result of SC, SCL or CA-SCL decoding, the polarization phenomenon appears through these synthesized subchannels. Some synthesized channels have high capacity, and some have low capacity. In other words, some synthesized subchannels have an equivalent high Petition 870190068949, of 7/22/2019, p. 20/86 17/75 Signal to Noise (SNR) and others have an equivalent low SNR. These metrics are examples of characteristics that could be used to quantify or classify sub-channel reliability. Other metrics indicative of sub-channel reliability could also be used or used instead. [0062] Code construction involves determining a code rate (the number of K information bits, or how many subchannels are for carrying information bits) and selecting the particular K subchannels among the available N subchannels that are for carrying information bits . For ease of reference in this document, information bits could include input bits that are to be encoded, and possibly CRC bits, PC bits, and / or other helper bits that are used to assist in decoding. Subchannel selection is based on subchannel reliability, and typically the most reliable subchannels are selected as information subchannels to carry bits of information. [0063] An initial step in building the code is to calculate the reliability for all subchannels, and then select the subchannels with the highest reliability for the information bits and any CRC bits, parity / PC bits, or other helper bits that are used to help decode. [0064] Sub-channel reliability could be specified, for example, in one or more ordered sequences. A single nested ordered subchannel sequence, independent of SNR, could be calculated for an Nmax code length with sequences ordered for shorter N code lengths being selected from the longer Nmax sequences. Several strings ordered in terms of different lengths of Ni parent code could instead be calculated, and one of the mother code length strings could be selected Petition 870190068949, of 7/22/2019, p. 21/86 18/75 for a particular code in the preferred code length. Another possible option involves calculating multiple sequences ordered in terms of SNR values, for example, and selecting an ordered sequence based on the measured SNR. [0065] There are several methods for calculating sub-channel reliability, but these methods can lead to different results. For example, according to a genius-assisted method proposed in R. Pedarsani, Polar Codes: Construction and Performance Analyzes, June 2011, EPFL master project, an encoder encodes a training sequence that is known to the decoder in different subchannels. The decoder feeds back the decoding results to the encoder so that the encoder can calculate reliability statistics for each subchannel, and a well-adapted reliability vector across the subchannels is obtained. The training procedure takes place with a given SNR, and therefore, this method is related to the SNR and not in real time. [0066] As another example, Mori R, Tanaka T., Performance and construction of polar codes on symmetric binary-input memoryless channels, IEEE International Symposium on Information Theory, 2009, 1496-1500, propose a method of density evolution (DE ) in which the reliability of a subchannel is measured using the decoding error possibilities of the Conviction Propagation decoding, which can be calculated via density evolution. The proposed method has proved to be a conqueror of capacity for arbitrary symmetric binary erasure channels when used for polar construction. However, due to the method relying on repetitive calculations of LLR values for each subchannel, it is computationally complex. [0067] According to a genie-aided method proposed in E. Arikan, Channel polarization: A method for constructing capacity Petition 870190068949, of 7/22/2019, p. 22/86 19/75 achieving codes for symmetric binary-input memoryless channels, IEEE Transactions on Information Theory, 2009, 55 (7): 3051-3073, an encoder encodes a training sequence in different subchannels that is known by the decoder. The decoder feeds back the decoding results to the encoder so that the encoder can calculate reliability statistics for each subchannel, and a well-adapted reliability vector across the subchannels is obtained. Relative reliability for subchannels is dependent on the receiving SNR, making this method a SNR-dependent method. [0068] Gaussian approximation methods as proposed in J.Dai, K.Niu, Z.Si, J.Lin, Evaluation and Optimization of Gaussian Approximation for Polar Codes, May 2016, and in P. Trifonov, Efficient design and decoding of polar codes. IEEE Trans, on Communications 60.11 (2012): 3221-3227, assume that each coded bit is subject to an equal probability of error. From the probability of error, the reliability through the subchannels is obtained with a density evolution algorithm. Because this probability of error in the encoded bits is related to the receiving SNR, this method is also related to the SNR and is computationally complex. [0069] In wireless communications without using wires, the radio channel varies with time. It is impractical to consume significant communication bandwidth and processing resources for a genie-aided construction method. The Gaussian approach can therefore be preferred, in conjunction with setting a working SNR or reference SNR for a particular combination of code length and code rate. [0070] However, methods based on Gaussian approximation for computational reliability through subchannels Petition 870190068949, of 7/22/2019, p. 23/86 20/75 are also highly complex. With shorter and shorter decoding latency requirements in some applications, it can be difficult to implement hardware for practical reliability calculations dynamically. Storing all reliability vectors for all possible values of N and SN Rs of work would consume more memory than would be practical in a mobile system without using wires, for example, and therefore, in such an application, it is necessary to recalculate the subchannel reliability whenever parent code length N is changed. [0071] Methods based on Gaussian approximation also require an SNR input. Different SNR entries result in different reliability vectors. In order to align both an encoder and a decoder, a working SNR must be provided for both the encoder and the decoder. In addition, any shift between a working SNR value that is used by the encoder and the decoder and an actual channel SNR in the decoder leads to loss of performance. [0072] An SNR-independent polarization weight (PW) method is revealed in R1-1611254, Details of the Polar Code Design, Huawei & HiSilicon, 3GPP TSG RAN WG1 Meeting # 87. In this method, the reliability of a subchannel is measured by the corresponding beta expansion values, which are given by a closed formula as a function of the binary representation of the subchannel index. The reliability measure is independent of the SNR, and can lead to a single sequence of nested ordered subchannels for different encoding rates and block lengths. The sequence can be calculated offline and stored in memory for use, to provide less implementation and computational complexity compared to other methods. [0073] As mentioned above, there are several ways to generate Petition 870190068949, of 7/22/2019, p. 24/86 21/75 an ordered sequence (from a kernel and its generating matrix) via calculating the sub-channel reliability. Not every mode can necessarily lead to a nested sequence, and this nested sequence may not necessarily be unique. Nested ordered sequences could be generated, for example, based on a polarization weight as revealed in Chinese Patent Application N 2 CN 201610619695.5, filed on July 29, 2016, or based on a Hamming weight as revealed in US Patent Application N 2 62 / 438,565, deposited on December 23, 2016. [0074] Ordered sequence calculations can be performed in several different modes. For example, calculations could be performed online, producing ordered sequences that can be dynamically adjusted or recalculated based, for example, on the observed channel conditions. Alternatively, calculations can be performed offline (ie, in advance) to produce pre-calculated (and static) ordered sequences that can be stored and retrieved during subsequent encoding operations. In yet another alternative, calculations can be performed partially online and partially offline. [0075] As mentioned above, in mobile communications without using wires, channel conditions can vary significantly over time. It may be impractical to use online computation methods with high computational complexity (for example, genie-aided methods, and based on DE and GA) because these methods can consume significant communication bandwidth and processing resources. Computationally complex methods, such as genie-aided, DE and / or GA-based methods generally instead run offline to produce several static ordered sequences, for example, by setting a working SNR or reference SNR for different combinations of Petition 870190068949, of 7/22/2019, p. 25/86 22/75 code length and code rate. However, simple online sequence generation methods such as those disclosed in US Patent Application No. 2 62 / 463,128, called APPARATUS AND A METHOD OF ESPECIFYING ORDERED SEQUENCES OF CODING SUB-CHANNELS, filed on February 24, 2017, can still be preferred, as they generally consume less memory, and can be more flexible and adaptable to channel conditions without wires varying over time. [0076] There may also be a number of challenges associated with CRC-assisted SCL decoding. For example, although CASCL can improve the performance of a polar code, a potential problem with such decoding is related to using CRC bits for error correction. In a mobile wireless system, for example, CRC bits can be attached to the information bits and reserved only for error detection, to indicate to a decoder whether a current received coded block is successfully decoded. If a CRC were to be used for error correction in CA-SCL decoding for final path selection, CRC bits would be checked more than once. In the worst case, a CRC would be checked L times for a list size L. This would significantly increase a false alarm rate that should be carefully limited in a wireless system without wires, especially for physical control channels. For example, if random bits are transmitted to a UE, the UE can pass its CRC bits and report the decoded bits to higher layers. If encoded bits are transmitted to a UE, then the UE could actually decode some bits incorrectly, but the CRC would still pass. Especially in wireless systems, for example, it may be preferable to avoid such false alarms or limit them to a very low probability. The CRC was proposed mainly for Petition 870190068949, of 7/22/2019, p. 26/86 23/75 this purpose. Each time the CRC bits are checked, there is some loss of detection capacity. Therefore, it may be desirable for a polar code to be constructed to allow the decoder to avoid using CRC bits for error correction and to maintain good BLER performance. [0077] Returning to encoding, a Kronecker matrix (generating matrix) is a lower triangular matrix, which means that the first subchannel is distributed over all encoded bits and the last subchannel is distributed only at the last bit. This implies that the reliability of the last subchannel is higher than that of the first subchannel. This is very different from other channel coding schemes, in which an encoder equally distributes all bits of information in a codeword. In this sense, the performance of a polar code could be more sensitive to perforation than other types of channel coding scheme. In comparison, because each bit encoded in a convolutional code or LDPC code is related to all bits of information, even after some encoded bits are drilled, a convolutional or LDPC decoder can still retrieve all bits of information from the encoded bits that remain after drilling. When designing a drilling scheme for polar code, this characteristic of drilling sensitivity and the relevance between the drilled bits and the subchannels must be carefully considered. [0078] As mentioned above, the punching could be used to provide different code rates and code lengths for polar codes based on the Arikan kernel. Figure 6 is a block diagram illustrating an example of a rate-matching polar encoder, which includes a sub-channel selector 602, a polar encoder 500 (Figure 5) and a Petition 870190068949, of 7/22/2019, p. 27/86 24/75 coded bit 604. The example in Figure 6 is based on a 2 by 2 kernel, on K bits of information, on a code word with M bits, and on a code rate R = K / M that is obtained by puncturing by the coded bit processor 604. The coded bit processor 604 can also perform or instead perform other encoded bit processing, such as shortening, padding with zeros, and / or repetition. [0079] Each of the above aspects of code construction, including kernel design, reliability and selection of subchannels for code construction, error correction not aided by CRC, and shortening and punching code, is discussed in further detail in this document. . [0080] With respect to the kernel design, the kernel proposed by Arikan is a 2 by 2 binary kernel, which implies that 2 input bits are encoded together, and each subchannel is used to encode or carry a respective single bit. The 2 by 2 binary kernel has been proven to have the highest exponent value (0.5) in a binary kernel (1 subchannel for 1 bit). This exponent value is an indicator of the degree of polarization. A higher degree of polarization means that there are more reliable subchannels that have greater capacity than for a code with a lower degree of polarization. However, the Arikan 2 by 2 kernel produces a Kronecker matrix (generating matrix) whose size must be a power of 2. Some coded bits may need to be punched to match a code rate and; or a target code length , impacting performance. [0081] Examples of generated matrices of polar coding based on G2 are shown in Figure 1. Figure 7 is a block diagram illustrating an example of a nested polar encoder 700 based on a 2 by 2 kernel. The G2 blocks Petition 870190068949, of 7/22/2019, p. 28/86 25/75 shown in Figure 7 could be implemented, for example, by matrix multipliers, and are also referred to in this document as kernel encoders. A nested encoder is based on a generator matrix in which smaller kernels are used to produce a larger kernel. For example, the 4 by 2 kernel encoded (and the corresponding 2 by 2 arrays) in Figure 7 are nested as shown to produce the 4 by 4 700 polar encoder. The 4 by 4 kernel is the generating matrix for a block of entrance with 4 entries. [0082] There are also other types or forms of kernels, including kernels with different dimensions with basic numbering. Such kernels can be used in polar coding if their shape is in accordance with the polarization theory, that is, the polarization is maintained on the decoding side. For example, a binary kernel could be 3 by 3, 5 by 5, 7 by 7, and so on. Unlike a 2 by 2 kernel, which has a single format, other kernels with a prime number can have different formats and still maintain polarization on the decoding side. [0083] Figure 8 is a diagram showing how the matrices generating polar coding can be produced from 3 by 3 kernels. Type A and Type B G3 kernels are presented as an example, and the order generating matrices more than 3 can be produced as Kronecker products from each G3 matrix. [0084] Two or more prime number kernels could be combined to form larger kernels. As shown in Figure 7, a combination of two G2 2 by 2 kernels can form a G4 4 by 4 kernel. In another example, a combination of G2 2 by 2 kernels and G3 3 by 3 kernels can form a Ge 6 kernel by 6. Figure 9 includes block diagrams illustrating Petition 870190068949, of 7/22/2019, p. 29/86 26/75 two illustrative larger encoders 902, 904 based on different types and smaller kernel encoders, including kernel encoders G2 and G3. Ge kernels and encoders could instead be formed using various stages of G3 kernels and encoders. There are several ways in which smaller kernels could be combined (or interconnected) to produce larger kernels. Figure 9 is just an example. In addition, larger kernels could themselves be combined to produce an even larger kernel. For example, four Ge kernels could be combined to produce a G12 kernel, etc. This principle works for larger kernels that are themselves directly or indirectly composed of prime number kernels. [0085] Some modalities are described in this document in the context of kernel encoders. However, it must be appreciated that the kernels or matrices themselves could be combined. For example, a coding approach as shown by way of example in Figures 7 and 9 could be expressed as a product of matrices, which are themselves constructed based on the prime number dimension matrices. Such encoding would be denoted in the form d = u Ga * Gb, where Ga is a Mariz that is made up of prime number Gy matrices and Gb is a matrix that is made up of prime number dimension Gz matrices. As an example, for the polar encoder 902 in Figure 9 and the matrix expression above, Ga is based on a combination of kernels or matrices G3, and Gb is based on a combination of kernels or matrices G2. [0086] A kernel or matrix Ge is an example of a larger kernel or matrix that is based on a combination of smaller kernel or arrays. In the case of coders Petition 870190068949, of 7/22/2019, p. 30/86 Polar 27Π5 in Figure 9, the illustrative Ge 6 kernels or matrices, of dimension 6, are both based on a combination of prime number dimension kernels or matrices G2 and G3. Even larger kernels or matrices could be constructed based on Ge kernels or matrices, and / or kernels or matrices larger than 6, but even in such modalities, larger matrices could be decomposed, and at least it makes sense also considered to be based, on kernels or prime number dimension matrices. [0087] Despite the exponent value quoted above, another indicator of degree of polarization, of any kernel of prime number dimension other than two is smaller than this of the 2 by 2 kernel of Arikan, a kernel of prime number dimension that not being two or a combination of different dimensions of kernels can generate a generator matrix that is not the power of two. A lower degree of polarization can result in poor performance compared to Arikan's kernel-based coding. However, a generator matrix that is not a power of two may not involve punching, or less punching bits, for code rate and / or code length matching, with no or less impact on the performance of code that is not power. two. [0088] If a subchannel can transmit more than one bit, then several bits can be combined into one symbol in a defined alphabet, and a non-binary symbol is transmitted encoded in each subchannel. Consequently, polarization kernels are not limited to binary kernels (Galois field) or non-binary kernels are also contemplated. For example, a 4 by 4 symbol-based kernel is described below. Similar to a binary kernel, a non-binary kernel could have different dimensions, including Petition 870190068949, of 7/22/2019, p. 31/86 28/75 dimensions numbered with prime number. [0089] The following example is a non-binary kernel that is called an RS-4 kernel. We first define the following symbol mapping in the Galois-4 field: [0090] kernel is the ÍX [0091] are as follows: Multiplication Addition multiplication operations in the Galois-4 field Addition [0092] This is just an example. Other Galois field definitions and non-binary kernels are possible. [0093] It should also be noted that a 2 by 2 binary kernel can be considered as a special case in the Galois-2 field. [0094] A non-binary kernel could be preferred for its greater exponent value and greater degree of polarization than a binary kernel. However, the complexity of decoding computation is greater for a non-binary kernel, due to the fact that a Petition 870190068949, of 7/22/2019, p. 32/86 29/75 decoder would have to handle symbols instead of bits. [0095] Non-binary kernels have characteristics of binary kernels. In addition, non-binary kernels could be combined or cascaded with binary kernels to form a polar code. Although Arikan's 2 by 2 binary kernel is used in this document as an example, revealed aspects can be extended to other types of polarization kernels. [0096] Turning now to sub-channel reliability and selection or allocation, in a mobile system without using wires for example, both the length of the information block (Kmax) and the length of the code (M max ) are limited or has an upper limit. The maximum code length results in a maximum mother code length N max for the polar code. In the case of a 2 by 2 Arikan kernel, for example, N max is a power of 2, 2 X. In the case of a 3 by 3 kernel, Nmax is 3, 3 X power . In the case of a 10-by-10 kernel, Nmax is a power of 10, 10 x . In the case of a double 3 by 3 non-binary kernel with 2-bit symbols with 2 symbols with a total length of 4 bits, Nmax is 4 * 3 X. Nmax can be similarly determined for other types and / or dimensions of kernels. [0097] Once a kernel is selected (for example, 2 by 2, 3 by 3, 6 by 6, binary or Galois), the selected kernel can be used to build a generator matrix by a Kronecker product that is nested, which allows an ordered nested sequence of subchannels to be found. Here, Q max based on a 2 by 2 Arikan kernel is revealed as an illustrative example of an ordered nested sequence. [0098] As mentioned above, there are several ways to generate such an ordered sequence nested from a kernel and its generating matrix. Not every mode can necessarily lead to a nested sequence, and this nested sequence may not be Petition 870190068949, of 7/22/2019, p. 33/86 30/75 necessarily unique. Examples of generating nested ordered sequences, based on a polarization weight, are referenced above. Other techniques are also used instead of these. [0099] Relative reliability between subchannels and the order of reliability, in particular, which subchannels have greater reliability than others, are more important for the construction of code than absolute reliability. In this context, an ordered sequence or a vector (Qmax) in terms of reliability through the subchannel Nmax could be provided, in ascending or descending order. Each entry in such an ordered sequence is an index of a subchannel in a modality. The size of this sequence (Q max) θ (K max). For example, for N max - 16 β Kmax - 16, the ordered sequence of subchannel indices, ranked in ascending order of polarization reliability between the 16 subchannels could be Q »**“ ίθ θ 3 5 6910 12 71.113 1415] q sub-channel n 2 15 has the highest polarization reliability and sub-channel n 2 0 has the lowest reliability in this example. In some modalities, only the strongest or most reliable Kmax sequence inputs, and not all Nmax inputs, are stored. [00100] Different reliability metrics can be generated by different methods, to arrive at a classified sequence of subchannels. The storage and / or organization of such a sequence could be adapted for space optimization (compacted) or for easy access from memory, for example. [00101] The sequence (Qmax) has a nested property. For a 2 by 2 Arikan kernel, for example, if Krtax ' s K fTS3X / 2 f Mmax' θ H ma x “Hmax / 2, the Sequence (Qmax) is a subset of (Qmax). This nested property means that for any combination the sequence Q Petition 870190068949, of 7/22/2019, p. 34/86 31/75 can be constructed by consecutively selecting subchannels whose indexes are less than N from the longest Qmax in memory. For example, for "3, Gkax - [θ 1 2 4-3567] Exem θ T o p | 0 above Qmax. In this example, Q®a * '(for = 8) θ obtained by taking from Qmax (for Nmax = 16). [00102] A nested sequence is not dependent on the SNR. The Genie-assisted and Gaussian Approach methods mentioned above need an SNR input, so that different SNRs lead to different sequences, which could be a significant problem for non-wired channels varying over time, for example. However, a nested sequence does not change based on the SNR. Sub-channel reliability in a nested sequence remains the same regardless of SNR. This could be useful, for example, to allow a nested sequence to be standardized. The most reliable subchannels can then be selected from the same nested sequence independent of the actual SNR. [00103] A prime kernel itself is not nested. In the way of building a generator matrix or a larger kernel, a Kronecker product as revealed in this document, is nested to provide polarization. Such a nested construction of a generator matrix also provides an ordered nested sequence of sub-channel bias reliability. For example, a simple Hamming weight method could be used. There are several methods for deriving a nested sequence from a nested generator matrix, without being dependent on the SNR. When generating an ordered sequence, the SNR is not used as an input value for the generation of a sequence independent of the SNR. In both methods, Genie-assisted and Gaussian Approach, SNR is one of the input values. Petition 870190068949, of 7/22/2019, p. 35/86 32/75 [00104] The Genie-assisted and Gaussian Approach methods are also dependent on the code rate. Different code rates have different strings. The new radio (NR) 5G, for example, can use refined code rate granularity, which would involve high computation load and / or a very large memory table to store subchannel strings for a more refined level of rate granularity of code. [00105] A nested sequence could also simplify the implementation, due to the fact that only one sequence for Nmax could be stored. For any N less than Nmax, an ordered sequence Q can be determined by simply selecting the most reliable subchannels that have indices less than N from Qmax, or equivalent, by taking out subchannel indices that are greater or equal to N from Qmax. [00106] In some implementations, a single sequence could be stored both in an encoder and in a decoder to avoid ambiguity between the encoder and the decoder. In SNR-dependent methods, it is almost impossible to guarantee that the encoder and decoder have exactly the same SNR value and, therefore, the same ordered sequence. An SNR-directed sequence is believed to have an optimal performance with a particular working SNR, which ideally exactly corresponds to the actual SNR in the decoder. Once there is a shift, optimal performance is lost. In a cordless system, it is very difficult to totally avoid any displacement between the working SNR and the actual SNR. [00107] As can be seen, a kernel designated according to the principles described above can allow an ordered sequence of subchannels (for example, Qmax) to be found, which is nested and / or independent of the SNR, suitable for coding Petition 870190068949, of 7/22/2019, p. 36/86 Polar 33/75. [00108] In some modalities (with or without a kernel designated as described in this document) in order to avoid error correction aided by CRC in a decoder, some subchannels can be used to transmit bits that the decoders will use during decoding, for example example. Selecting a correct decoding path could actually correct errors in a received word, and in that sense, the path selection could be considered to incorporate a form of error correction. [00109] The assisting bits are not bits of information (CRC bits are treated as bits of information in a modality in this document) nor frozen bits, but they can be generated from bits of information by a rule that is known both by an encoder as by a decoder. These bits could be considered error detection bits, error correction bits, or path selection bits, for example, but are referred to in this document primarily as assistive or decoding assist bits. Examples of helper bits include extra CRC bits, parity check (PC) bits and checksum bits. [00110] For illustrative purposes, assist bits are described below as being allocated to subchannels that are separate from the subchannels used for information bits and frozen. Assistant bits could provide an extra CRC reserved for CA-SCL decoding separate from normal CRC bits attached to a code block. This is an example of a special case of the present description of assistant bits and assistant subchannels, which in one embodiment are selected after all information subchannels have been selected. In another modality, assistant subchannels are selected from the space of frozen subchannels, from subchannels that would normally be Petition 870190068949, of 7/22/2019, p. 37/86 34/75 used for frozen bits, for example. [00111] Assistant subchannels that transmit decoding assistant bits could be spread across the entire subchannel space, which could be preferred for better performance, or occupy at least some consecutive subchannel positions. The number (X) of these assistant subchannels could be greater than one, and even (N-K). This maximum number (N-K) varies with the length of the code and the rate of the code, and X could be controlled for simpler decoding complexity. In one embodiment, the first assistant subchannels appear after several information subchannels, due to an SC-based decoder processing the information bits first, and then decoding the assistant bits to select the path through the previously processed information bits. [00112] Therefore, a code builder could divide the entire subchannel space including all subchannels into three groups, including information subchannels for K information bits, decoding assistant subchannels for X decoding assistant / assistant bits, and frozen subchannels for (NKX) frozen bits. [00113] Figure 10 is a block diagram illustrating an example of assistant bit generation and assistant subchannel allocation. According to a rule that is known or otherwise distributed to an encoder and a decoder, an assistant bit is generated based on several bits of information that are allocated to information subchannels and the assistant bits are allocated to an assistant subchannel after the information subchannels that encode these information bits. Several assistant bits could be generated and assigned to assistant subchannels, as shown in Figure 10. The distributed assistant subchannels are Petition 870190068949, of 7/22/2019, p. 38/86 35/75 shown in Figure 10 as an example. Assistant subchannels could also or instead include several consecutive subchannels. [00114] Figure 11 is a block diagram illustrating an example of information assistant and frozen subchannel coding. Based on at least some bits of a K bit data block, helper bits are generated, and information bits (including data bits and possibly CRC, parity bits and / or other bits generated from them), frozen bits , and the assistant bits are respectively allocated or mapped to information subchannels, frozen subchannels, and assistant subchannels. For example, in some embodiments, the assist bits represent a checksum (for error detection) through some part of the information bits. [00115] In one embodiment, one or more checksums are added as assist bits to assist a decoder in determining or selecting the paths of a list decoding procedure. A checksum is small data (checksum bits) from all or some bits of an input information block for the purpose of error detection. The procedure that produces a checksum is called a checksum function. For example, parity check bits are a type of checksum and the parity check function is a checksum function that produces parity check bits. CRC bits are a type of parity check bits and a CRC encoder is a type of parity check function. [00116] Whether such checksum bits, or other types of assist bits, are used and how they are used, could be dependent on the decoding implementation. For example, if Petition 870190068949, of 7/22/2019, p. 39/86 36/75 current channel conditions are very good (high SNR), so a decoder could determine which checksum bits do not need to be used to assist in decoding a current CB (code block), or a decoder could use bits checksum to terminate a decoding process early if it detects a decoding failure based on the check bits. [00117] A checksum need not be used only to determine whether an entire CB is correctly decoded. For example, a single CB could contain more than one checksum. If more than one checksum is checked in a CB, these checksums could be produced by different checksum functions or by a checksum function, and from different parts or the same part of a block of information. [00118] Unlike the CRC bits attached to each CB (code block), these checksum bits could be transparent to the upper layer, but known only by a channel encoder or decoder. The number of checksum bits could be fixed or variable. For example, this number could be dependent on the length of the code and / or the code rate. Checksum bits could pick up consecutive or non-consecutive subchannels. [00119] Figure 11A is a block diagram illustrating checksum subchannels (as an example of helper channels) carrying checksums generated by different sum and verification functions, and Figure 11B is a block diagram illustrating subchannels of non-consecutive and consecutive checksums. [00120] The selection of information subchannels could be based on Petition 870190068949, of 7/22/2019, p. 40/86 37/75 in a polarization reliability (Q sequence), for example, whereas the selection of decoding assist subchannels (eg checksum) could be based on more than one polarization reliability metric (Q sequence) ) (for example, also based on a second metric) in order to allow the positions of these decoding assistant subchannels to be distributed more randomly or more efficiently among the information subchannels, for example. [00121] In some modalities, two different metrics are used for the selection of the decoding assistant subchannel. For example, a first metric can be a bias reliability metric (for example, Q sequence) and a second metric can be a weight such as a Hamming weight of the subchannels (or a function of the Hamming weight). A Hamming weight could be preferred partly because it is used by the Reed-Muller (RM) code and partly because of its simplicity. The RM code can be considered as a special example of polar codes, due to the fact that it is based on Hamming weight instead of polarization reliability, and it uses a Maximum Probability (ML) decoding algorithm (the RM code based on Hamming's weight it addresses the ML performance limit if the code length is small), but it can be decoded with SC or SCL decoding. [00122] For example, the ordered sequence Qmax in terms of polarization reliability for N ma x = 16 in the example above is = [012483569 10 12 7 1,113 14 151, and their Hamming weights are [0 1 1 1 1222222333 4] . Polarization reliability basically associates Hamming weights, but provides more refined granularity. With increasing N, these two metrics would become more different from each other. Petition 870190068949, of 7/22/2019, p. 41/86 38/75 [00123] The Hamming weight of a subchannel is defined in this document as the Hamming weight of a row of a generator matrix. See Figure 12, which is a block diagram illustrating Hamming weights of and row weights of subchannels of a 4 by 4 polar code generating matrix. In a polar code, the Hamming weight of a subchannel is related to the row weight of this subchannel in its generating matrix (row weight = 2 A (Hamming weight)). The row weight indicates the number of the encoded bits over which a subchannel is distributed. Generally speaking, the more encoded bits an information bit entry for a subchannel is distributed, the more robust the subchannel is. For the example of a 4 by 4 generator matrix shown in Figure 12, subchannel n 2 0 has a Hamming weight of 0 and is distributed only in code bit n 2 0. Subchannel n 2 3 has a Hamming weight of 2 and is distributed in four bits of code. [00124] In other words, a bit in subchannel n 2 3 has a better chance of being decoded correctly than a bit in subchannel n 2 0. Or, all four subchannels are distributed in coded bit n 2 0, so that there is much more interference in the encoded bit n 2 0 than in the encoded bit n 2 3. From this point of view, it may be more likely to allocate an information bit for sub-channel n 2 3 and for sub-channel n 2 0, or to punch a coded bit associated with subchannel n 2 0 has less damage than punching a coded bit associated with subchannel n 2 3. [00125] Intuitively, the more encoded bits over which an information bit is distributed, the more robust the information bit is and, consequently, the greater the reliability. [00126] An example of how Hamming weight can be used as the second metric for selecting assistant subchannels is discussed in more detail in US Provisional Order Petition 870190068949, of 7/22/2019, p. 42/86 39/75 η 2 62/433127, deposited on December 12, 2016. Note that the Hamming weight is just one example of a metric that could be used as a second metric. Other examples include a function of Hamming weight (e.g., row weights as disclosed in Provisional Application No. 2 62/432448, filed on December 9 , 2016). Generally, any other metric that is also indicative of reliability (bias) can be used as the second metric. In an additional alternative, the second metric is different from the first metric, but it is also related to or indicative of polarization reliability. However, in yet another alternative, the natural order of subchannels can be used as the second metric so that, for example, subchannels at the end of the information subchannels are selected as assistant subchannels. [00127] In some modalities, more than two metrics could be used to select assistant subchannels. In addition, any of the various assistant subchannel selection algorithms using the metrics described above could be used. There are other possibilities for selecting assistant subchannels. [00128] Figure 13 is a block diagram of an illustrative sub-channel selector. In Figure 13, the subchannel selector 1300 can select information, assistant and frozen subchannels based on polarization reliability, and a second metric presented as an example as a Hamming weight. Other parameters could also be taken into account, such as subchannel reserves due to shortening or puncturing, as shown. [00129] Figure 14 is a flow chart illustrating a subchannel selection method. The order of selections for the information subchannels and decoding wizards could be: Petition 870190068949, of 7/22/2019, p. 43/86 40/75 information subchannels first and decoding assistant subchannels second; selects the decoding assistant subchannels first and the information subchannels second; preselects candidates for decoding assistant subchannels, selects information subchannels in second place, and then determines the decoding assistant subchannels; selects both candidates for information subchannel and assistant in parallel and then switches some subchannels between two sets. [00130] The method presented as an example in Figure 14 is intended for illustrative purposes only. There may be several methods for selecting information subchannels and assistant subchannels. The selection order could be as mentioned above, or a different order, and the performance could be different depending on the order in which the subchannels are selected, and / or the criteria used for subchannel selection. [00131] With respect to punching, in an extreme example, the bit in the first subchannel is distributed only in the first coded bit, because the generating matrix (Kronecker) is a lower triangular matrix. If this first encoded bit were punctured and the first subchannel transmitted a bit of information, then this bit would not be recoverable in a decoder. In contrast, since the bit in the last subchannel is distributed across all encoded bits, it would be retrieved even if several encoded bits were punctured. With an ordered sequence such as a Qmax sequence, the first subchannel is seldom selected for information bits or for decoding assist bits, and the last subchannel tends to be selected for information bits. If some systematic bits are transmitted with the encoded bits, then these systematic bits must be retained after any shortening and puncturing stages. Petition 870190068949, of 7/22/2019, p. 44/86 41/75 [00132] These examples indicate that there may be a strong relationship between punctured bits and subchannel selection. In one embodiment, a shortening / puncturing pattern is first determined, and then subchannels that must be avoided for both information bits and decoding assist bits can be identified. The mapping from a shortening / punching pattern could be performed, for example, by inverse bit mapping. A coding scheme could mix more than one mapping scheme. [00133] Figure 15 is a block diagram illustrating an example of coding that takes punching into account when selecting subchannels. Encoded bits that are emitted by polar encoder 1504 are punctured by encoded bit processor 1506 to generate a code word with M bits in the example shown. A punching pattern is mapped to subchannels by bit / subchannel mapper 1508, and subchannels that are to be punched according to the punching pattern are avoided for allocation by subchannel selector 1502 for information bits and assist bits. These subchannels could also be equivalent to being reserved for frozen bits. Any of the various methods could be used to shorten and puncture a code word, and similarly any of the various methods could be used to map punched coded bits to subchannels. In another embodiment, subchannel allocation or selection by subchannel selector 1502 is performed first, and bit / subchannel mapping is fed towards the encoded bit processor 1506 to avoid puncturing encoded bits corresponding to the subchannels for which the information or the assist bits, for example, are allocated. Petition 870190068949, of 7/22/2019, p. 45/86 42/75 [00134] Operation is an example of an operation that could be performed on bits encoded by an encoded bit processor such as 1506 to generate a codeword. Other examples shown in Figure 15 include shortening, padding with zeros, and repetition of encoded bits. These operations could similarly be mapped by bit / subchannel mapper 1508 to subchannels that could be taken into account, and possibly avoided, for selection as information subchannels or assistant subchannels by the subchannel selector 1502. [00135] Figure 16 is a block diagram of a device for encoding and transmitting code words. Device 1600 includes an encoder 1604 coupled with a transmitter 1606. Encoder 1604 is implemented in the circuit system that is configured to encode an input bit stream 1602 as disclosed herein. In the illustrated embodiment, device 1600 also includes an antenna 1608, coupled with transmitter 1606, to transmit signals over a channel without using wires. In some embodiments, transmitter 1606 includes a modulator, an amplifier, and / or other components of a transmission chain and Radio Frequency (RF). [00136] Encoder 1604 is implemented in the circuit system, such as a processor, which is configured to encode input bits as disclosed in this document. In a processor-based implementation of the 1604 encoder, executable instructions per processor to configure a processor to perform encoding operations are stored on a processor-readable non-temporary medium. The non-temporary medium could include one or more solid-state devices and / or memory devices with removable and possible removable storage media. More generally, encoder 1604 can be Petition 870190068949, of 7/22/2019, p. 46/86 43/75 implemented in hardware or circuit system (for example, in one or more chip sets, microprocessors, application specific integrated circuits (ASICs), field programmable port arrangements (FPGAs), dedicated logic circuit system, or combination thereof) to produce code words as described in this document for transmission by a separate (RF) unit. [00137] Encoder 1604 is configured to encode input bits in code words that include encoded bits. In one embodiment, encoder 1604 includes several stages of encoding. The various encoding stages include a first kernel encoder stage for applying a prime Y dimension polar G y encoding kernel array to the input bits, and a second stage of kernel encoders coupled to receive a bit of output from each of the kernel encoders in the first stage and to apply a prime-size Z polar encoding kernel array of Z to the output bits received from the kernel encoders in the first stage. Figures 7 and 9 show examples of such kernel encoders. Transmitter 1606 is coupled with encoder 1604 to transmit code words. [00138] Multi-stage coding with sequential stages of kernel encoders represents an illustrative modality. Coding could also or instead be considered a way to apply coding matrices. For example, encoder 1604 could be configured to apply several first prime number Y polar encoding arrays Gy for input bits to produce output bits, and apply several second prime number dimension G polar encoding arrays Z for the output bits to produce a wordPetition 870190068949, of 7/22/2019, p. 47/86 Μ / Ί5 code with encoded bits. [00139] The 1604 encoder could implement any of several other aspects that are revealed in this document. For example, any one or more of the following could be provided, alone or in any of several combinations, in the modalities: [00140] Y = Z; [00141] Y is different from Z; [00142] At least one of Y and Z is greater than two; [00143] at least one of Gy and Gz is not binary and is applied to symbols with several bits; [00144] Gy and Gz define subchannels, and encoder 1604 further comprises (or is coupled with) a subchannel selector to select, based on an ordered sequence of the subchannels such as a nested and ordered sequence of the SNR of the subchannels, subchannels for encoding bits of information into the input bits; [00145] the subchannel selector is configured to select K subchannels, in an order of increasing or decreasing reliability, for example, from an ordered sequence of subchannels, which includes Nmax subchannels in one mode; [00146] Gy and Gz define subchannels, and encoder 1604 further comprises (or is coupled with) a subchannel selector to select, based on a subchannel bias reliability metric and at least an additional second metric, particular subchannels of subchannels for encoding particular bits in the input bits, such as subchannels for encoding helper bits in the input bits; [00147] at least a second metric comprises any one or more of: a Hamming weight, a row weight, and a Petition 870190068949, of 7/22/2019, p. 48/86 natural order of the subchannels; [00148] the private bits are assistant bits to assist in decoding; [00149] the assistant bits are for error detection / selection and path in a decoder; [00150] the assist bits comprise one or more of: parity, checksum or CRC checks bits; [00151] the particular subchannels of the subchannels are consecutive subchannels or subchannels dispersed in a space of subchannels; [00152] the subchannel selector is further configured to select, based on the subchannel bias reliability metric, any or both of the most reliable subchannels for encoding information bits in the input bits, and at least reliable subchannels for encoding frozen bits ; [00153] Gy and Gz define subchannels, and the encoder further comprises (or is coupled with) a subchannel selector to select, based on the subchannels affected by the operations that are to be performed in relation to the encoded bits, particular subchannels of the subchannels to encode particular bits in the input bits; [00154] Gy and Gz define subchannels, and the encoder further comprises (or is coupled with) a subchannel selector to select particular subchannels from the subchannels to encode particular bits in the input bits and a processor and encoded bit to select, based on the subchannels selected, encoded bits for further processing operations; [00155] the encoder is further configured to apply several third prime number third polar coding arrays, and to apply fourth several prime number fourth polar encoding arrays - in a combination of four Petition 870190068949, of 7/22/2019, p. 49/86 Α6 / Ί5 Type A or Type B Ge kernels (Figure 9) to produce a G12 kernel, for example, in total there would be four several prime number dimension kernels (G 2 and G3); [00156] The encoder is configured to apply a larger dimension matrix which is based on a combination of the first several polar coding matrices Gy with the second several polar coding matrices Gz and which has a dimension greater than Y and Z - the Type A and Type B Ge kernels in Figure 9 are examples and such a larger dimension matrix, based on a combination of 2-dimensional and 3-dimensional matrices, which has a dimension 6, which is greater than 2 or 3 ; [00157] The encoder is further configured to apply an even larger dimension matrix which is based on a combination of several third polar coding matrices with a third prime number dimension and several fourth polar coding matrices with a fourth prime number dimension. , the even larger dimension matrix having a dimension greater than 0 third prime number and 0 fourth prime number - again, a combination of four Type A or Type B Ge kernels (Figure 9) to produce a G12 kernel that is a effective example, where the largest kernel could be a Type A or Type B Ge kernel, and the largest kernel could also be a Type A or Type B Ge kernel. [00158] In some alternative modalities, the functionality of encoder 1604 and transmitter 1606 described in this document can be totally or partially implemented in software or modules, for example, in the encoding and transmission modules stored in a memory and executed by a processor (processors) from the 1600 device. [00159] Figure 17 is a block diagram of a device Petition 870190068949, of 7/22/2019, p. 50/86 illustrative for receiving and decoding code words. The device 1700 includes a receiver 1704 coupled with an antenna 1702 to receive signals from a wireless channel and a decoder 1706. In some embodiments, receiver 1704 includes a demodulator, an amplifier, and / or other components of a RF reception chain. Receiver 1704 receives, via antenna 1702, a word that is based on a code word from a polar code. Decoded bits are issued in 1720 for further processing by the receiver. [00160] In some embodiments, device 1700, and similarly device 1600 in Figure 16 as mentioned above, includes a non-temporary, computer-readable medium that includes instructions for execution by a processor to implement and / or control operation of encoder 1604 in Figure 16, to implement and / or control operation of decoder 1706 in Figure 17, and / or otherwise control the execution of methods described in this document. In some embodiments, the processor may be a component of a general-purpose computer hardware platform. In other embodiments, the processor may be a component of a special-purpose hardware platform. For example, the processor can be an embedded processor, and instructions can be provided as firmware. Some modalities can be implemented by using only hardware. In some embodiments, instructions for execution by a processor can be incorporated in the form of a software product. The software product can be stored on a non-volatile or non-temporary storage medium, which could be, for example, a read-only compact disc (CD-ROM), a universal serial bus (USB) flash disk, or a removable hard drive. Petition 870190068949, of 7/22/2019, p. 51/86 48/75 [00161] The 1706 decoder is configured to decode received code words. Assistant bits could be used by the 1706 decoder to assist in decoding. [00162] In some alternative modalities, the functionality of receiver 1704 and decoder 1706 described in this document can be fully or partially implemented in software or modules, for example, when receiving and decoding modules stored in memory and executed by a processor (processors) of the 1700 device. In some embodiments, the 1706 decoder can be implemented in hardware or circuit systems (for example, in one or more sets of chips, microprocessors, ASICs, FPGAs, dedicated logic circuit system, or in combinations thereof) in order to decode code words that are received by a separate (RF) unit. [00163] The communication equipment could include the device 1600, the device 1700, or both a transmitter and a receiver or both an encoder and a decoder. Such communication equipment could be user equipment or network communication equipment. [00164] Figure 18 is a block diagram of another illustrative device for encoding and transmitting code words. Device 1800 includes a 1804 encoder module coupled with a 1806 transmitter module. Device 1800 also includes an 1810 code processing module coupled with the 1804 encoder module and an 1814 postcode processing module. The postcode processing module 1814 is also coupled with the 1804 encoder module and the 1806 transmitter module. An 1812 memory, also shown in Figure 18, is coupled with the 1804 encoder module, with the 1810 code processing module, with the post processing module. encoding 1814, and with the Petition 870190068949, of 7/22/2019, p. 52/86 49/75 1806 transmitter module. Although not shown, the 1806 transmitter module could include a modulator, amplifier, antenna and / or other modules or components of a transmission chain or alternatively it could be configured to interface with a transmission module separate (RF). For example, some or all modules 1804, 1806, 1810, 1812, 1814 of the 1800 device can be implemented in hardware or in a circuit system (for example, in one or more chip sets, microprocessors, ASICs, FPGAs, dedicated logic circuits, or combinations thereof) to produce code words as described in this document for transmission by a separate (RF) unit. [00165] In some embodiments, the 1812 memory is a non-temporary, computer-readable medium in 1812, which includes instructions for execution by a processor to implement and / or control operation of the 1810 code processing module, the 1804 encoder module, the post-coding processing module 1814, the transmitting module 1806 in Figure 18, and / or otherwise controlling the execution of functionality and / or the modalities described in this document. In some embodiments, the processor may be a component of a general-purpose computer hardware platform. In other embodiments, the processor may be a component of a special-purpose hardware platform. For example, the processor can be an embedded processor, and instructions can be provided as firmware. Some modalities can be implemented by using only hardware. In some embodiments, instructions for execution by a processor can be incorporated in the form of a software product. The software product can be stored in a non-volatile or non-temporary storage medium, which Petition 870190068949, of 7/22/2019, p. 53/86 50/75 could be, for example, a CD-ROM, USB flash disk, or a removable magnetic hard drive, in 1812. [00166] In some embodiments, the 1804 encoder module is implemented in circuit systems, such as a processor, which is configured to encode input bits as disclosed in this document. In a processor-based implementation of the 1804 encoder module, executable instructions per processor to configure a processor to perform encoding operations are stored on a processor-readable non-temporary medium. The non-temporary medium could include, in memory 1812, for example, one or more solid state memory devices and / or memory devices with mobile and possibly removable storage media. [00167] The 1810 code processing module could be implemented in the circuit system that is configured to determine coding parameters such as the length of the parent code block, and to determine an ordered sequence of subchannels as disclosed in this document. In some embodiments, the 1810 code processing module is implemented using a processor. The same processor or other circuit system, or separate processors or circuit systems, could be used to implement both the 1804 encoder module and the 1810 code processing module. As noted above for the 1804 encoder module, in an implementation based on processor of the 1810 code processing module, executable instructions per processor to configure a processor to perform code processing operations are stored in a non-temporary, processor-readable medium, in 1812 memory, for example. [00168] In the same way as the 1804 encoder module and the Petition 870190068949, of 7/22/2019, p. 54/86 51/75 code processing module 1810, the post coding processing module 1814 is implemented in the circuit system, such as a processor, which is configured to perform various operations after coding. These operations after coding could include rate matching operations such as punching, shortening and / or interleaving, for example. In a processor-based implementation of the post-coding 1814 processing module, executable instructions per processor to configure a processor to perform the operation after coding are stored in a non-temporary, processor-readable medium, examples of which are described above. In one embodiment, the post-coding processing module 1814 derives a punching or shortening scheme from a punching or shortening scheme that is to be applied to a code word before transmission. Information indicative of bit positions and / or subchannels that are affected by post-coding operations, or information from which such bit positions or subchannels can be determined, can be fed back to the 1810 code processing module, stored in memory 1812, or otherwise made available to the code processing module 1810 by the post coding processing module 1814. [00169] In some embodiments of the 1810 code processing module, the coding parameters and / or the ordered sequence of subchannels can be determined based on the information from the 1814 post-coding processing module. For example, the ordered sequence of subchannels can be determined based on the rate matching scheme determined by the postcode processing module 1814. Conversely, in some other modalities, the postcode processing module Petition 870190068949, of 7/22/2019, p. 55/86 52/75 1814 can determine the rate matching scheme based on the coding parameters and / or the ordered sequence of subchannels determined by the 1810 code processing module. Still in some other modalities, the determinations made within the 1810 code processing module and the 1814 post-coding processing module are jointly executed and optimized. [00170] Device 1800 could implement any of several other aspects that are revealed in this document. For example, encoder module 1804, transmitter module 1806, code processing module 1810 and / or postcode processing module 1814 could be configured to implement any or more of the aspects listed or otherwise described above with reference to Figure 16. [00171] In some alternative modalities, the functionality of the 1804 encoder module, the 1806 transmitter module, the 1810 code processing module and / or the 1814 post-coding processing module described in this document can be implemented in whole or in part in hardware or alternatively in software, for example, in modules stored in a memory such as 1812 and executed by one or more processors of the 1800 device. [00172] Therefore, a device could include a processor, and a memory such as 1812, coupled with the processor, storing instructions that, when executed by the processor, cause the processor to execute the functionality and / or the modalities described above in relation to the encoder module 1804, transmitter module 1806, code processing module 1810, and / or the post coding processing module 1814 described in this document. Petition 870190068949, of 7/22/2019, p. 56/86 53/75 [00173] Figure 19 is a block diagram of an illustrative device for receiving and decoding code words. Device 1900 includes a receiver module 1904 which is configured to receive signals transmitted wirelessly and which is coupled with a decoder module 1906. Device 1900 also includes a code processing module 1910 coupled with decoder module 1906 and a 1914 pre-decoding processing module. The 1914 pre-decoding processing module is also coupled with the 1906 decoder module and the 1904 receiver module. A 1912 memory also shown in Figure 19 is coupled with the 1906 decoder module, with the module processing code 1910, with receiver module 1904 and with pre-decoding processing module 1914. [00174] Although not shown, the 1904 receiver module could include an antenna, demodulator, amplifier, and / or other modules or components of a reception chain or alternatively it could be configured to interface with a separate reception module (RF) . For example, some or all modules 1904, 1906, 1910, 1912, 1914 of device 1900 may be implemented in hardware or circuit systems (for example, in one or more chipsets, microprocessors, ASICs, FPGAs, circuit systems dedicated logic, or combinations thereof) in order to receive a word based on a code word of a polar code as described in this document. Decoded bits are issued in 1920 for further processing by the receiver. [00175] In some embodiments, memory 1912 is a non-temporary, computer-readable medium that includes instructions for execution by a processor to implement and / or control operation of receiver module 1904, decoder module 1906, code processing module 1910, and the pre-processing module Petition 870190068949, of 7/22/2019, p. 57/86 decoding 1914 in Figure 19, and / or to otherwise control the execution of functionality and / or modalities described in this document. In some embodiments, the processor may be a component of a general-purpose computer hardware platform. In other embodiments, the processor may be a component of a special-purpose hardware platform. For example, the processor can be an embedded processor, and instructions can be provided as firmware. Some modalities can be implemented by using only hardware. In some embodiments, instructions for execution by a processor can be incorporated in the form of a software product. The software product can be stored on a non-volatile or non-temporary storage medium, which could be, for example, a CD-ROM, a USB flash disk, or a removable hard drive, in 1912. [00176] The 1906 decoder module is implemented in the circuit system, such as a processor, which is configured to decode received code words as revealed in this document. In a processor-based implementation of the 1906 decoder module, executable instructions per processor to configure a processor to perform decoding operations are stored on a processor-readable non-temporary medium. The non-temporary medium could include, in memory 1912, for example, one or more solid state memory devices and / or memory devices with mobile and possibly removable storage media. [00177] The 1910 code processing module is implemented in the circuit system that is configured to determine (and store in 1912 memory) ordered sequences of subchannels as revealed in this document. In an implementation Petition 870190068949, of 7/22/2019, p. 58/86 55/75 processor-based 1910 code processing module, executable instructions per processor to configure a processor to perform code processing operations are stored on a processor-readable non-temporary medium, examples of which are described above. Information representing ordered sequences of selected subchannels, and / or subchannels could be provided to the 1906 decoder module by the 1910 code processing module for use when decoding received words, and / or stored in 1912 memory by the 1910 code processing module for use subsequent by the 1906 decoder module. [00178] Just like the decoder module 1906 and the code processing module 1910, the pre-decoding processing module 1914 is implemented in the circuit system, such as a processor, which is configured to perform pre-decoding operations. These operations could include receiver / fee matching operations on the decoder side also known as fee withdrawal matching operations, such as puncture removal and / or shortening removal to reverse the puncture / shortening, such as removal of punching and / or shortening removal to reverse punching / shortening that was applied to one side of the encoder / transmitter, for example. In a processor-based implementation of the 1914 pre-decoding processing module, executable instructions per processor to configure a processor to perform pre-decoding processing operations are stored on a non-temporary, processor-readable medium, examples of which are described above. In one embodiment, the 1914 pre-decoding processing module Petition 870190068949, of 7/22/2019, p. 59/86 56/75 derives a punching or shortening scheme from a punching or shortening scheme that is to be applied to a received code word. Information indicative of bit positions and / or subchannels that are affected by pre-decoding processing, or information from which such bit positions or subchannels can be determined, can be fed back to the 1910 code processing module, stored in the memory 1912, or otherwise made available to the 1910 code processing module by the 1914 pre-decoding processing module. [00179] In some embodiments of the 1910 code processing module, the ordered sequence of subchannels can be determined based on information from the 1914 pre-decoding processing module. For example, the ordered sequence of subchannels can be determined based on the scheme rate matching module determined by the pre-decoding processing module 1914. Conversely, in some other embodiments, the pre-decoding processing module 1914 can determine a rate matching scheme based on the encoding parameters and / or the ordered sequence of subchannels determined by the 1910 code processing module. In some other modalities, the determinations made within the 1910 code processing module and the 1914 pre-decoding processing module are jointly performed and optimized. [00180] In some alternative modalities, the functionality of the receiver module 1904, the decoder module 1906, the code processing module 1910, and / or the pre-decoding processing module 1914 described in this document can be implemented fully or partially in software or modules, Petition 870190068949, of 7/22/2019, p. 60/86 57/75 for example, in the receiving and decoding modules stored in a 1912 memory and executed by one or more processors of the 1900 device. [00181] Therefore, a device could include a processor, in a memory, such as 1912, coupled with the processor, storing instructions that, when executed by the processor, cause the processor to execute the functionality and / or the modalities revealed in this document, or receive / decode operations corresponding to the transmit / encode operations disclosed in this document. [00182] The 1900 device could implement any of several other aspects that are revealed in this document. For example, the decoder module 1906, the receiver module 1904, the code processing module 1910, and / or the pre-decoding processing module 1914 could be configured to implement any or more of the reception / decoding aspects corresponding to the aspects coding / transmission codes mentioned above. [00183] Figures 16 and 19 are generalized block diagrams of devices that could be used to implement modalities revealed in this document. Figure 20 is a block diagram of an illustrative 2000 simplified processing system, which can be used to implement modalities disclosed in this document, and provides an example with top level implementation. The device 1600, the device 1700, or both, can be implemented using the illustrative processing system 2000, or variations of the processing system 2000. The processing system 2000 could be a server or a mobile device, for example, or any system proper processing. Other systems Petition 870190068949, of 7/22/2019, p. 61/86 58/75 suitable processing to implement modalities described in the present description can be used, which may include components other than those discussed below. Although Figure 20 shows a single instance of each component, there may be multiple instances of each component in the 2000 processing system. [00184] The processing system 2000 can include one or more processing devices 2005, such as a processor, a microprocessor, an ASIC, an FPGA, a dedicated logic circuit system, or combinations thereof. The 2000 processing system may also include one or more 2010 input / output (I / O) interfaces, which may allow interface with one or more appropriate 2035 input devices and / or 2040 output device. The 2000 processing system may include one or more 2015 network interfaces for wired or wireless communication with a network (for example, an intranet, the Internet, a P2P network, a WAN and / or a LAN) or another node. The 2015 network interfaces may include links using wires (for example, Ethenet cable) and / or links without using wires (for example, one or more antennas) for communications between networks and / or intra-networks. The 2015 network interfaces can provide wireless communication via one or more transmitters or transmit antennas and one or more receivers or receive antennas, for example. In this example, a single 2045 antenna is shown, which serves as both a transmitter and a receiver. However, in other examples, there may be separate antennas for transmission and reception. Processing system 2000 may also include one or more storage units 2020, which may include a mass storage unit such as a solid state drive, a hard disk drive, a disk drive Petition 870190068949, of 7/22/2019, p. 62/86 59/75 magnetic and / or an optical disc drive. [00185] The 2000 processing system may include one or more 2025 memories, which may include a volatile or non-volatile memory (for example, a flash memory, a random access memory (RAM), and / or a memory only for reading (ROM)). Non-buffer memories 2025 can store instructions for execution by processing devices 2005, as well as for carrying out examples described in the present description. The 2025 memories may include other software instructions, such as how to implement an operating system and other applications / functions. In some examples, one or more sets and / or data modules may be provided by an external memory (for example, an external unit communicating with or without wires with the 2000 processing system) or may be provided computer-readable temporary or non-temporary means. Examples of non-temporary, computer-readable media include RAM, ROM, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, CD-ROM, or other portable memory storage. [00186] There may be a 2030 bus providing communication between components of the 2000 processing system. The 2030 bus can be any suitable bus architecture including, for example, a memory bus, a peripheral bus or a video bus. In Figure 20, 2035 input devices (for example, a keyboard, mouse, microphone, touch screen, and / or key pad) and 2040 output devices (for example, a video, speaker speaker and / or a printer) are presented as external to 2000 processing systems. In other examples, one or more of the Petition 870190068949, of 7/22/2019, p. 63/86 60/75 input devices 2035 and / or output devices 2040 can be included as a component of the 2000 processing system. [00187] Figure 21 illustrates an illustrative communication system 2100 in which modalities of the present description could be implemented. In general, the 2100 communication system allows several elements without using wires or using wires to communicate data and other content. The purpose of the 2100 communication system can be to provide content (voice, data, video, text) via broadcast, specialized transmission, user device to user device, etc. The 2100 communication system can operate by sharing resources such as bandwidth. [00188] In this example, the communication system 2100 includes electronic devices (ED) 2110a to 2110c, radio access networks (RANs) 2120a and 2120b, a main network 2130, a public switched telephone network (PSTN) 2140, the Internet 2150, and other networks 2160. Although quantities of these components or elements are shown in Figure 21, any reasonable number of these components or elements may be included. [00189] Eds 2110a to 2110c and base stations 2170a and 2170b are examples of communication equipment that can be configured to implement some or all of the features and / or modalities described in this document. For example, any of Eds 2110a to 2110c and base stations 2170a and 2170b could be configured to implement the encoding or decoding functionality (or both) described above. In another example, any of Eds 2110a to 2110c and base stations 2170a and 2170b could include a 1600 (Figure 16) or 1800 (Figure 18), 1700 (Figure 17) or 1900 (Figure 19) device, or both. [00190] Eds 2110a to 2110c are configured to operate, Petition 870190068949, of 7/22/2019, p. 64/86 61/75 communicate, or both, in the 2100 communication system. For example, Eds 2110a to 2110c are configured to transmit, receive, or both, via wired or non-wired communication channels. Each ED 2110a to 2110c represents any user device suitable for wireless operation and may include such devices (or may be referred to) as user equipment / equipment, wireless transmission / reception unit (WTRU), station mobile, fixed or mobile subscriber unit, cell phone, station (STA), machine-type communication device (MTC), personal digital assistant (PDA), smartphone, laptop, computer, tablet, wireless sensor, or devices electronic electrical devices. [00191] In Figure 21, RANs 2120a and 2120b include base stations 2170a and 2170b, respectively. Each base station 2170a and 2170b is configured to wirelessly interface with one or more of Eds 2110a to 2110c to allow access to any other base station 2170a and 2170b, main network 2130, PSTN 2140, Internet 2150, and / or other 2160 networks. For example, base stations 2170a and 2170b may include (or be) one or more of the well-known devices, such as a base transceiver station (BTS), a Node B (NodeB), an evolved NodeB (eNOdeB), a Domestic eNodeB, a gNodeB, a transmission point (TP), a location controller, an access point (AP), or a wireless router. Any ED 2110a to 2110c can alternatively or additionally be configured to interface, access, or communicate with any other base station 2170a and 2170b, with Internet 2150, with main network 2130, with PSTN 2140, with other networks 2160, or any combination of the above. The communication system 2100 can include RANs, such as RAN 2120b, where the corresponding base station 2170a Petition 870190068949, of 7/22/2019, p. 65/86 62/75 accesses the main network 2130 via the Internet 2150, as shown. [00192] Eds 2110a to 2110c and base stations 2170a and 2170b are examples of communication equipment that can be configured to implement some or all of the features and / or modalities described in this document. In the embodiment shown in Figure 21, base station 2170a is part of RAN 2120a, which may include other base stations, base station controller (controllers) (BSC), radio network controller (controllers), nodes, relay elements and / or devices. Any base station 2170a, 2170b can be a single element, as shown, or several elements, distributed in the corresponding RAN, or otherwise. In addition, base station 2170b is part of RAN 2120b, which may include other base stations, elements, and / or devices. Each base station 2170a and 2170b transmits and / or receives wireless signals within a particular region or geographical area, sometimes referred to as a cell or coverage area. A cell can further be divided into cell sectors, and a base station 2170a and 2170b can, for example, employ several transceivers to provide service for various sectors. In some modalities, peak or femto cells can be established where radio access technology supports them. In some modalities, several transceivers could be used for each cell, for example, using technology of several inputs and several outputs (MIMO). The number of RANs 2120a and 2120b shown is illustrative only. Any number of RANs can be contemplated when imagining the 2100 communication system. [00193] The base stations 2170a and 2170b communicate with one or more Eds 2110a to 2110c through one or more aerial interfaces using wireless communication links, for example, RF, Petition 870190068949, of 7/22/2019, p. 66/86 63/75 microwave, infrared (IR), etc. The 2190 overhead interfaces can use any suitable radio access technology. For example, the communication system 2100 may implement one or more methods of channel access, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA) , Orthogonal FDMA (OFDMA), or single-carrier FDMA (SC-FDMA) on the 2190 air interfaces. [00194] A base station 2170a and 2170b can implement the Terrestrial Access Radio (UTRA) of the Universal Mobile Telecommunication System (UMTS) for establish a 2190 air interface using broadband CDMA (WDCMA). In doing so, the base station 2170a and 2170b can implement protocols such as HSPA, HSPA + optionally including HSDPA, HSUPA or both. Alternatively, a base station 2170a and 2170b can establish a 2190 air interface with an enhanced UMTS Ground Radio (E-UTRA) using LTE, LTE-A, and / or LTE-B. It is contemplated that the 2100 communication system can use various channel access functionalities, including such schemes as described above. Other radio technologies for implementing overhead interfaces include IEEE 802.11.802.15, 802.16, CDMA2000, VDMA2000 1X, CDMA2000 EVDO, IS-200, IS-95, IS-856, GSM, EDGE and GERAN. Obviously, other multiple access schemes and wireless protocols can be used. [00195] RANs 2120a and 2120b are in communication with the main network 2130 to provide Eds 2110a to 2110c with various services such as services and voice, data and other services. RANs 2120a and 2120b and / or the main network 2130 may be in direct or indirect communication with one or more other RANs (not shown), which may or may not be directly served by the main network 2130, and may or may not employ the same technology Petition 870190068949, of 7/22/2019, p. 67/86 6Α / Ί5 radio access than RANs 2120a, RAN 2120b or both. The core 2130 network can also serve as a network interconnect device access between (i) RANs 2120a and 2120b or Eds 2110a to 2110c or both, and (ii) other networks (such as PSTN 2140, Internet 2150 , and other 2160 networks). In addition, some or all Eds 2110a to 2110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition to it), Eds 2110a to 2110c can communicate via physical communication channels with a service provider or switch (not shown), and with the Internet 2150. PSTN 2140 it may include circuit-switched telephone networks to provide old and simple telephone services (POTS). The internet 2150 can include a computer network and subnets (intranets) or both, and incorporate protocols, such as IP, TCP, UDP. Eds 2110a to 2110c can be multi-mode devices capable of operation according to various radio access technologies, and incorporate several transceivers necessary to support such technologies. [00196] Figures 22A and 22B illustrate illustrative devices that can implement methods and instructions according to this description. In particular, Figure 22A illustrates an illustrative ED 2110, and Figure 22B illustrates an illustrative base station 2170. These components could be used in the communication system 2100 or any other suitable system. [00197] As shown in Figure 22A, ED 2110 includes at least one processing unit 2200. Processing unit 2200 implements several processing operations of ED 2110. For example, processing unit 2200 could perform signal encoding, processing of data, control of Petition 870190068949, of 7/22/2019, p. 68/86 65/75 power, input / output processing, or any other functionality allowing the ED 2110 to operate on the 2100 communication system. The 2200 processing unit can also be configured to implement some or all of the features and / or modalities described in more detail above. Each 2200 processing unit includes any suitable processing or computing device configured to perform one or more operations. Each 2200 processing unit could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable port arrangement, or application-specific integrated circuit. [00198] ED 2110 also includes at least one transceiver 2202. Transceiver 2202 is configured to modulate data or other content for transmission by at least one antenna or Network Interface Controller (NIC) 2204. Transceiver 2202 is also configured to demodulate data or other content received by at least one antenna 2204. Each transceiver 2202 includes any suitable structure to generate signals for wireless transmission or using wires and / or processing signals received wirelessly or using wires . Each 2204 antenna includes any structure suitable for transmitting and / or receiving signals using wires or without wires. One or more transceivers 2202 could be used on the ED 2110, and one or more antennas 2204 could be used on the ED 2110. Although presented as a single functional unit, a transceiver 2202 could also be implemented using at least one transmitter and at least one separate receiver. [00199] ED 2110 still includes one or more input / output devices 2206 or interfaces (such as a wired interface to the Internet 2150). 2206 input / output devices Petition 870190068949, of 7/22/2019, p. 69/86 66/75 allow interaction with a user or other devices on the network. Each 2206 input / output device includes any structure suitable for providing information or for receiving information from a user, such as a speaker, microphone, key pad, keyboard, video, or touch screen, including communications. network interface. [00200] In addition, ED 2110 includes at least one 2208 memory. Memory 2208 stores instructions and data used, generated, or collected by ED 2110. For example, memory 2208 could store instructions or software modules configured to implement some or all the features and / or modalities described above and which are performed by the processing unit (s) 2200. Each memory 2208 includes any of the appropriate volatile and / or non-volatile storage and retrieval device (s). Any type of memory can be used, such as random access memory (RAM), read-only memory (ROM), hard disk, optical disk, subscriber identity module (SIM) card, pen-drive, memory card secure digital (SD), among others. [00201] As shown in Figure 22B, base station 2170 includes at least one processing unit 2250, at least one transmitter 2252, at least one receiver 2254, one or more antennas 2256, at least one memory 2258, and one or more 2266 input / output devices or interfaces. A transceiver, not shown, can be used instead of the 2252 transmitter and the 2254 receiver. A 2253 activity scheduler can be coupled with the 2250 processing unit. The 2253 activity scheduler can be included within or operator separately from the base station 2170. The processing unit 2250 implements various processing operations of the base station 2170, such as Petition 870190068949, of 7/22/2019, p. 70/86 6Ί / Ί5 signal encoding, data processing, power control, input / output processing, or any other functionality. The 2250 processing unit can also be configured to implement some or all of the features and / or modalities described in more detail above. Each 2250 processing unit includes any suitable processing or computing device configured to perform one or more operations. Each 2250 processing unit could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable port arrangement, or application specific integrated circuit. [00202] Each 2252 transmitter includes any suitable structure to generate signals for transmission without using wires or using wires for one or more Eds or for other devices. Each 2254 receiver includes any structure suitable for processing signals received wirelessly or wirelessly from one or more Eds or other devices. Although presented as separate components, at least one 2252 transmitter and at least one 2254 receiver could be combined in one transceiver. Each 2256 antenna includes any structure suitable for transmitting and / or receiving signals using wires or without wires. Although a common 2256 antenna is presented here as being coupled with both the 2252 transmitter and the 2254 receiver, one or more 2256 antennas could be coupled with the 2252 transmitter (transmitters), and one or more separate 2256 antennas could be coupled with the receiver (receivers) 2254. Each memory 2258 includes any of the appropriate volatile and / or non-volatile storage or retrieval device (s) such as those described above in connection with ED 2110. Memory 2258 stores instructions and data used, generated , or collected by Petition 870190068949, of 7/22/2019, p. 71/86 68/75 base station 2170. For example, memory 2258 could store instructions or software modules configured to implement some or all of the features and / or modalities described above and which are performed by the 2250 processing unit (s). [00203] Each 2266 input / output device allows interaction with a user or with other devices on the network. Each 2266 input / output device includes any structure suitable for providing information or for receiving / providing information from a user, including network interface communications. [00204] The modalities described with reference to Figures 16 to 22 relate to the illustrative device. Methods of the method, for decoding and / or encoding, are also contemplated. [00205] Figure 23 is a flow chart of an illustrative coding method according to another modality. The illustrated illustrative method 2300 includes generating assist bits in 2302, which may not be performed in all modalities. The information bits and the frozen bits, and the assist bits, if used, are allocated to subchannels in 2304. This is equivalent to the subchannel selection. The bits are encoded in code words that include encoded bits. In one embodiment, this involves applying the prime number dimension Gy to the input bits in a first stage, and applying a prime number dimension polar encoding kernel array Gz to the output bits from the first internship. In another embodiment, encoding involves applying first several prime number Y polar encoding matrices Gy to the input bits to produce output bits second, and applying second prime number Z polar encoding matrices Z to the bits output to produce a code word. [00206] The application of the matrices G y and Gz is presented in 2306, Petition 870190068949, of 7/22/2019, p. 72/86 69/75 2308. The code words are then transmitted in 2310. [00207] Figure 23 also presents illustrative operations that are performed on a receiver / decoder. A word that is based on a code word from a polar code is received in 2312 and decoded in 2314, and the decoded bits are output in 2316. Decoding could use helper bits as disclosed in this document. [00208] The illustrative method in Figure 23 is intended for the purpose of illustration. Other modalities could involve executing the illustrated operations in any of several ways, performing fewer operations or additional operations, and / or varying the order in which the operations are performed. Other variations could be or become apparent to those skilled in the art based on the present description. [00209] For example, any of the following could be provided, alone or in any one of several combinations, in the modalities: [00210] Y = Z; [00211] Y is different from Z; [00212] at least one of Y and Z is greater than two; [00213] at least one of Gy and Gz is not binary and is applied to symbols with several bits; [00214] Gy and Gz define subchannels, and the method involves selecting, based on an ordered sequence of subchannels such as a nested ordered sequence and independent of the SNR of the subchannels, subchannels to encode information bits in the input bits; [00215] the selection involves selecting K subchannels, in an order of increasing or decreasing reliability, for example, from an ordered sequence of subchannels, which includes Nmax subchannels in a modality; Petition 870190068949, of 7/22/2019, p. 73/86 70/75 [00216] Gy and Gz define subchannels, and involve selecting, based on a subchannel bias reliability metric and at least an additional second metric, particular subchannels of the subchannels to encode particular bits in the input bits, such as subchannels to encode assist bits in the input bits; [00217] the at least a second metric comprises any one or more of: a Hamming weight, a row weight, and a natural order of the subchannels; [00218] the private bits are assistant bits to assist in decoding; [00219] the assistant bits are for error detection / selection and path in a decoder; [00220] the assist bits comprise one or more of: parity, checksum or CRC checks bits; [00221] the particular subchannels of the subchannels are consecutive subchannels or subchannels dispersed in a space of subchannels; [00222] select, based on the subchannel bias reliability metric, any or both of the most reliable subchannels for encoding information bits in the input bits, and at least reliable subchannels for encoding frozen bits; [00223] Gy and Gz define subchannels, and the method involves selecting, based on the subchannels affected by the operations that are to be performed in relation to the encoded bits, particular subchannels of the subchannels to encode particular bits in the input bits; [00224] Gy and Gz define subchannels, and the method involves selecting particular subchannels from the subchannels to encode particular bits in the input bits and selecting, based on the selected subchannels, encoded bits for further processing operations; Petition 870190068949, of 7/22/2019, p. 74/86 71/7 5 [00225] applying several third prime number polar encoding arrays, and fourth applying multiple prime number fourth polar encoding arrays; [00226] applying a larger dimension matrix which is based on a combination of the first several polar coding matrices GY with the second several matrices of polar coding GZ and which has a larger dimension than Y and Z; [00227] applying an even larger dimension matrix that is based on a combination of several third polar coding matrices with a third prime number dimension and several fourth polar coding matrices with a fourth prime number dimension, the dimension matrix still larger having a larger dimension than the third prime number and the fourth prime number. [00228] The present description provides devices and methods for building polar code. One aspect of the present description relates to a device comprising an encoder and a transmitter. The code applies several first prime number Y polar polar encoding arrays Y for input bits to produce output bits, and it applies several second prime number dimension G polar polar encoding arrays for output bits to produce a word -code with encoded bits. The transmitter is coupled with the encoder and transmits the code word. [00229] In a first embodiment of this aspect of the present description, the dimensions Y = Z. In a second embodiment of this aspect of the present description, the dimension Y is different from the dimension Z. In a third embodiment of this aspect of the present description, at least one of the dimensions Y and Z is greater than two. [00230] In a fourth embodiment of this aspect of the present description, at least one of the matrices G y and Gz is not binary and is Petition 870190068949, of 7/22/2019, p. 75/86 72/75 applied to multi-bit symbols. In a fifth embodiment of this aspect of the present description, the matrices G y and Gz define subchannels, and the encoder further comprises a subchannel selector for selecting, based on an ordered sequence of the subchannels, subchannels for encoding bits of information in the input bits. In a sixth embodiment of this aspect of the present description, the subchannel selector is configured to select K subchannels from the ordered sequence of the subchannels. [00231] In a seventh embodiment of this aspect of the present description, the matrices Gy and Gz define subchannels, and the encoder further comprises a subchannel selector to select, based on a subchannel bias reliability metric and at least a second metric additional, subchannels to encode assist bits into the input bits. In an eighth modality of this aspect of the present description, the subchannel selector is further configured to select, based on the subchannel bias reliability metric, any or both of the more reliable subchannels for encoding information bits in the input bits, and subchannels less reliable to encode frozen bits. [00232] In a ninth embodiment of this aspect of the present description, the encoder is further configured for several third prime number polar encoding arrays, and to apply several fourth prime number polar encoding arrays. In a tenth embodiment of this aspect of the present description, the encoder is configured to apply a larger matrix which is based on a combination of the various first polar coding matrices Gy with the various second polar coding matrices Gz and which has a larger dimension than Y and Z. In an eleventh embodiment of this aspect of the present description, the encoder is still Petition 870190068949, of 7/22/2019, p. 76/86 73/75 configured to apply an even larger dimension matrix which is based on a combination of several third prime number polar encoding arrays with several fourth prime number fourth polar encoding arrays, the array with even greater dimension having a dimension greater than the third prime number and the fourth prime number. [00233] In another embodiment, a non-temporary readable medium per processor stores instructions that, when executed by one or more processors, cause the one or more processors to execute a method as disclosed in this document. [00234] The foregoing description of some modalities is provided to enable those skilled in the art to make or use a device, method, or processor-readable medium in accordance with the present description. [00235] Various modifications to the modalities described in this document can be readily apparent to those skilled in the art, and the generic principles of the methods and devices described in this document can be applied to other modalities. Thus, this description is not intended to be limited by the modalities presented in this document, but it is to be in accordance with the broader scope consistent with the principles and new aspects revealed in this document. [00236] For example, although the modalities are described mainly with reference to bits, other modalities can involve symbols with multiple non-binary bits. [00237] It should also be appreciated that the present description covers several aspects of polar coding, including kernel design, reliability and selection of subchannels for code construction, error correction not aided by CRC, and shortening and Petition 870190068949, of 7/22/2019, p. 77/86 Ί4Π5 code punching. These aspects could be implemented separately, or together with any one of several combinations of two or more of these aspects. [00238] As mentioned above, polar codes were selected for encoding control of reverse link and direct link channel eMMB for the new 5G air interface, also known as the new radio (NR) 5G. The techniques revealed in this document could be used not only to control data through a control channel, but also or instead of other types of data (for example, user data) through any type of channel (for example, Dice). [00239] Illustrative examples described in this document refer to the sequences of subchannels that are in ascending order of a reliability metric. In other modalities, ordered sequences that are in decreasing order of reliability could be used. Similarly, sequences could be generated in an increasing order of reliability instead of starting with more reliable channels and constructing a sequence by adding subchannels with progressively decreasing reliability. [00240] Additional illustrative modalities are also described below. [00241] Input bits could be encoded in codewords that include encoded bits. In one embodiment, encoding involves applying a prime number Y polar encoding kernel array Gy for input bits in a first stage, and applying a prime number G polar encoding kernel array Z for prime numbers output bits from the first stage. One or both of Gx and Gy could not be 2 by 2. Such a kernel design and other aspects of code construction, including reliability and selection of subchannels for building Petition 870190068949, of 7/22/2019, p. 78/86 75/75 code, error correction not aided by CRC, and shortening and punching code, could be implemented in other modalities as discussed in further details in this document.
权利要求:
Claims (15) [1] 1. Method, characterized by the fact that: encode input bits in a codeword comprising encoded bits, coding based on the application of several first arrays of polar encoding Gy of prime number dimension Y to the input bits to produce output bits (2306), applying second several arrays of polar coding Gz of prime number dimension Z for the output bits to produce the codeword (2308); and issue the keyword. [2] 2. Method, according to claim 1, characterized by the fact that Y = Z. [3] 3. Method, according to claim 1, characterized by the fact that Y is different from Z. [4] Method according to any one of claims 1 to 3, characterized by the fact that at least one of Y and Z is greater than two. [5] 5. Method according to any one of claims 1 to 4, characterized by the fact that at least one of G y and Gz is not binary and is applied to symbols with several bits. [6] 6. Method according to any one of claims 1 to 5, where Gy and Gz define subchannels, and characterized by the fact that it still selects, based on an ordered sequence of subchannels, subchannels to encode information bits in the input bits. [7] 7. Method, according to claim 6, characterized by the fact that the selection comprises selecting K subchannels from the ordered sequence of the subchannels. [8] 8. Method according to any one of claims 1 to 5, where Gy and Gz define subchannels, characterized by the fact that Petition 870190068949, of 7/22/2019, p. 80/86 2/3 further select, based on a subchannel bias reliability metric and at least one additional second metric, subchannels to encode assist bits into the input bits. [9] 9. Method, according to claim 8, further characterized by the fact that: select, based on the subchannel bias reliability metric, any or both of the more reliable subchannels for encoding information bits in the input bits, and less reliable subchannels for encoding frozen bits. [10] 10. Method according to any one of claims 1 to 9, characterized in that the encoding still comprises: apply several third prime number third polar coding arrays, and to apply several fourth prime number fourth polar coding arrays. [11] 11. Method according to any one of claims 1 to 10, characterized in that the encoding still comprises: apply a larger dimension matrix which is based on a combination of the first several polar coding matrices G y with the various second polar coding matrices Gz and which has a dimension greater than Y and Z. [12] 12. Method, according to claim 11, characterized by the fact that the encoding still comprises: applying an even larger dimension matrix which is based on a combination of several third polar coding matrices with a third prime number dimension with several fourth prime number fourth polar coding matrices, the even larger dimension matrix having a bigger dimension than the third prime number and the fourth number Petition 870190068949, of 7/22/2019, p. 81/86 3/3 cousin. [13] 13. User equipment, characterized by an encoder (1604) configured to perform a method as defined in any one of claims 1 to 12. [14] 14. Communication network equipment, characterized by an encoder (1604) configured to perform a method as defined in any one of claims 1 to 12. [15] 15. Non-temporary readable medium per processor (1812), characterized by the fact that it stores instructions that, when executed by one or more processors (1804, 1810, 1814), cause one or more processors to execute a method as defined in any one claims 1 to 12.
类似技术:
公开号 | 公开日 | 专利标题 BR112019012985A2|2019-12-03|devices and methods for building polar code CN109716692B|2021-04-20|Method and apparatus for parallel polar code encoding/decoding US10560218B2|2020-02-11|Apparatus and methods for decoding assistant bit-based polar code construction WO2018153263A1|2018-08-30|A method to generate ordered sequence for polar codes US10447435B2|2019-10-15|Reduced-stage polar decoding US10735154B2|2020-08-04|Methods and apparatus for coding sub-channel selection US10608786B2|2020-03-31|Apparatus and methods of specifying ordered sequences of coding sub-channels US10505566B2|2019-12-10|Methods and apparatus for encoding and decoding based on layered polar code US11057053B2|2021-07-06|Method and apparatus for wirelessly communicating over a noisy channel with a variable codeword length polar code to improve transmission capacity US10826532B2|2020-11-03|Methods and apparatus for polar encoding WO2019184941A1|2019-10-03|Apparatus and methods for rate matching in polar coding WO2019141199A1|2019-07-25|Apparatus and methods for polar code construction and bit position allocation CN111386664B|2021-08-03|Polarization encoding method and apparatus
同族专利:
公开号 | 公开日 EP3549265A4|2019-11-13| US10554223B2|2020-02-04| US20180183464A1|2018-06-28| CN110089037A|2019-08-02| JP2020504508A|2020-02-06| CN110089037B|2021-04-09| WO2018113705A1|2018-06-28| EP3549265A1|2019-10-09|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US8347186B1|2012-04-19|2013-01-01|Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi|Method and system for error correction in transmitting data using low complexity systematic encoder| US9304859B2|2012-12-29|2016-04-05|Emc Corporation|Polar codes for efficient encoding and decoding in redundant disk arrays| CN105340183B|2013-10-26|2019-10-22|华为技术有限公司|A kind of interpretation method and device of polar code| RU2691885C2|2014-03-24|2019-06-18|Хуавэй Текнолоджиз Ко., Лтд.|Method of matching rate of polar code and device for matching speed of polar code| US10461779B2|2015-08-12|2019-10-29|Telefonaktiebolaget Lm Ericsson |Rate-compatible polar codes| US10361728B2|2016-06-17|2019-07-23|Huawei Technologies Co., Ltd.|Multiple-symbol combination based decoding for general polar codes| CN107666370A|2016-07-29|2018-02-06|华为技术有限公司|Coding method and equipment| CN106230555B|2016-07-29|2019-02-19|西安电子科技大学|The stages cycle redundancy check method of polarization code| US10320428B2|2016-08-15|2019-06-11|Qualcomm Incorporated|Outputting of codeword bits for transmission prior to loading all input bits| US10523369B2|2017-01-09|2019-12-31|Qualcomm Incorporated|Mutual-information based recursive polar code construction| US10608786B2|2017-02-24|2020-03-31|Huawei Technologies Co., Ltd.|Apparatus and methods of specifying ordered sequences of coding sub-channels|US10348328B2|2017-01-06|2019-07-09|At&T Intellectual Property I, L.P.|Reducing control channel overhead using polar codes| CN108400833B|2017-02-06|2021-12-24|上海诺基亚贝尔股份有限公司|Communication method and communication device| WO2018145242A1|2017-02-07|2018-08-16|Qualcomm Incorporated|A low complexity puncturing method for low-rate polar codes| US10608786B2|2017-02-24|2020-03-31|Huawei Technologies Co., Ltd.|Apparatus and methods of specifying ordered sequences of coding sub-channels| CA3052486A1|2017-03-23|2018-09-27|Qualcomm Incorporated|Parity bit channel assignment for polar coding| US20190007180A1|2017-06-30|2019-01-03|Qualcomm Incorporated|Apparatus and method for sub-channel selection based on a number of electronic devices of a wireless network| US11012093B2|2017-12-05|2021-05-18|Cankaya Universitesi|High-speed decoder for polar codes| US11196512B2|2018-06-29|2021-12-07|Qualcomm Incorporated|Resolving decodability for subsequent transmissions whose throughput exceeds a threshold| US10985779B2|2018-08-27|2021-04-20|Polaran Haberlesme Teknolojileri Anonim Sirketi|Method and system for decoding data using compressed channel output information| CN109361405B|2018-09-14|2021-09-21|北京理工大学|Transmission system and method based on prime number interleaving and polar code coding| WO2020075240A1|2018-10-10|2020-04-16|Nec Corporation|Polar coding with distributed-crc and crc-aided successive cancellation decoding| CN109768846B|2019-01-09|2021-05-14|山东科技大学|Hole drilling method, system, device and medium based on two-core three-core mixed polarization code| DE102019200941B4|2019-01-25|2020-08-13|Deutsches Zentrum für Luft- und Raumfahrt e.V.|Decoding method|
法律状态:
2021-10-13| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US201662438550P| true| 2016-12-23|2016-12-23| US15/838,559|US10554223B2|2016-12-23|2017-12-12|Apparatus and methods for polar code construction| PCT/CN2017/117538|WO2018113705A1|2016-12-23|2017-12-20|Apparatus and methods for polar code construction| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|